09-Linux & Virtual Box

Virtual Box & Linux(Part.10)| Linux テキスト処理(2)| 現役エンジニア&プログラミングスクール講師

目標

代表的なテキスト処理のコマンドを確認して利用できる。(Part.1)

テキスト処理コマンド(Part.1)

テキスト処理コマンド(Part.1)

テキスト処理コマンド(Part.1)

各コマンドのオプションについての詳細は参考資料をご確認下さい。ここでは「何をするものなのか」「どんな記述ルールがあるのか」のみ取り上げています。利用方法については記事内の「実際の操作」で利用しているものについて解説しています。

catコマンド(ファイル内容が少ないもので利用します。)

指定したファイルの中身を表示するコマンドです
文法:
cat [省略できるOP] ファイル名(複数指定可)
※OP:オプションのことです。
コマンドの参考資料はこちら

「cat」は「conCATenate(連結する)」の略です。

catコマンドは次のようにファイル名を指定して利用します。オプションに「n」を利用すると行数が表示されます。

[rocky001@rockylinux001 ~]$ cat rocky3.txt
abcdefghijklmn
Ctrl + dを入力して抜けます。
total 12
drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir1
drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir2
drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir3
-rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 14:30 linux3.txt
-rw-rw-r–. 1 rocky001 rocky001 226 Apr 25 16:24 rocky1.txt
-rw-rw-r–. 1 rocky001 rocky001 227 Apr 25 16:34 rocky2.txt
-rw-rw-r–. 1 rocky001 rocky001 54 Apr 26 14:19 rocky3.txt
-rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky4.txt
-rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky5.txt

[rocky001@rockylinux001 ~]$ cat rocky3.txt -n
1 abcdefghijklmn
2 Ctrl + dを入力して抜けます。
3 total 12
4 drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir1
5 drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir2
6 drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir3
7 -rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 14:30 linux3.txt
8 -rw-rw-r–. 1 rocky001 rocky001 226 Apr 25 16:24 rocky1.txt
9 -rw-rw-r–. 1 rocky001 rocky001 227 Apr 25 16:34 rocky2.txt
10 -rw-rw-r–. 1 rocky001 rocky001 54 Apr 26 14:19 rocky3.txt
11 -rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky4.txt
12 -rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky5.txt

nlコマンド(ファイル内容が少ないもので利用します。)

指定箇所に行番号を付けてファイルの中身を表示するコマンドです
文法:
nl [省略できるOP] [形式] ファイル名(複数指定可)
※OP:オプションのことです。
コマンドの参考資料はこちら

「nl」は「number lines」の略です。よく利用するオプションには「b」でそれに関する形式には「a:全行」「f:空白を除く行」「n:行番号なし」が指定できます。

nlコマンドはファイルの表示を行数を含めて行ってくれるコマンドです。行番号を表示しない場合は「-b n」と指定して実行します。

[rocky001@rockylinux001 ~]$ nl -b a rocky3.txt
1 abcdefghijklmn
2 Ctrl + dを入力して抜けます。
3 total 12
4 drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir1
5 drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir2
6 drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir3
7 -rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 14:30 linux3.txt
8 -rw-rw-r–. 1 rocky001 rocky001 226 Apr 25 16:24 rocky1.txt
9 -rw-rw-r–. 1 rocky001 rocky001 227 Apr 25 16:34 rocky2.txt
10 -rw-rw-r–. 1 rocky001 rocky001 54 Apr 26 14:19 rocky3.txt
11 -rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky4.txt
12 -rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky5.txt

lessコマンド(ファイル内容が大きいもので利用します。)

ファイルをページごとに表示するコマンドです
文法:

  1. less [省略できるOP] ファイル名
  2. 別のコマンド | lessコマンド

※OP:オプションのことです。
コマンドの参考資料はこちら

ファイルの中身が多い場合、catコマンドやnlコマンドだと出力が流れて最後の部分しか見えなくなります。このような場合には1ページずつ内容の確認ができる「lessコマンド」を利用します。

ページ変更・文字列検索の操作操作内容
j または ↓1行下へ移動
k または ↑1行上へ移動
f または spaceキー1画面下へ移動
b1画面上へ移動
/検索文字列カーソル位置から下に対して検索
?検索文字列カーソル位置から上に対して検索
qlessコマンドの終了

ここではスーパーユーザーに切り替えて「/var/logディレクトリ」にある「messages」ファイルをlessコマンドで確認してみたいと思います。

まずは「catコマンド」との違いを確認するために「catコマンド」を利用して表示を確認してみます。

[root@rockylinux001 ~]# cat /var/log/messages

「Enterキー」を押すと最後の行まで出力され、画面には最終のページが表示されています。

次に「lessコマンド」を用いて出力してみます。
[root@rockylinux001 ~]# less /var/log/messages

次のように最初の行から表示されます。

下の表を利用してページの切り替えや文字列の検索が行えます。終了する時は「q」を押下します。

ページ変更・文字列検索の操作操作内容
j または ↓1行下へ移動
k または ↑1行上へ移動
f または spaceキー1画面下へ移動
b1画面上へ移動
/検索文字列カーソル位置から下に対して検索
?検索文字列カーソル位置から上に対して検索
qlessコマンドの終了

他のコマンドからパイプでつなげてlessコマンドを利用することもできます。例えば「find /usr/lib | less -N」と入力すると「/usr/libディレクトリ」が検索され行番号を表示して出力します。

headコマンド

ファイルを先頭から指定した範囲で表示するコマンドです
文法:

  1. head [省略できるOP] ファイル名
  2. 別のコマンド | headコマンド

※OP:オプションのことです。
コマンドの参考資料はこちら

オプションには「n」がよく使われます。
「n」:指定した行数分の出力
「c」:指定したバイト数分の出力

オプションを省略した時は10行が表示されます。

先頭から10行を出力するには次のように入力します。

[root@rockylinux001 ~]# head -n 10 /var/log/messages

先頭から1024byte分を出力するには次のように入力します。

[root@rockylinux001 ~]# head -c 1024 /var/log/messages

tailコマンド

ファイルを末尾から指定した範囲で表示するコマンドです
文法:

  1. tail [省略できるOP] ファイル名
  2. 別のコマンド | tailコマンド


※OP:オプションのことです。
コマンドの参考資料はこちら

オプションには「n」がよく使われます。
「n」:指定した行数分の出力
「c」:指定したバイト数分の出力

オプションを省略した時は10行が表示されます。

headコマンドと利用方法はあまり変わらないので操作方法は割愛しています。

cutコマンド

ファイルの内容から指定した箇所のみ出力するコマンドです
文法:
cut [省略できるOP] ファイル名
※OP:オプションのことです。
コマンドの参考資料はこちら

オプションには「b」「c」「d」「f」がよく使われます。
「b」:取り出す文字の範囲をバイト数で指定
「c」:取り出す文字の範囲を数値で指定
「d」:区切り文字を指定(デフォルトはtab・省略時もtab)
「f」:フィールド(列)の数を指定

「cutコマンド」を利用する前に使用するファイルの中身を確認します。

[rocky001@rockylinux001 ~]$ cat rocky3.txt
abcdefghijklmn
Ctrl + dを入力して抜けます。
total 12
drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir1
drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir2
drwxrwxr-x. 2 rocky001 rocky001 6 Apr 24 14:31 dir3
-rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 14:30 linux3.txt
-rw-rw-r–. 1 rocky001 rocky001 226 Apr 25 16:24 rocky1.txt
-rw-rw-r–. 1 rocky001 rocky001 227 Apr 25 16:34 rocky2.txt
-rw-rw-r–. 1 rocky001 rocky001 54 Apr 26 14:19 rocky3.txt
-rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky4.txt
-rw-rw-r–. 1 rocky001 rocky001 0 Apr 24 15:20 rocky5.txt

続いて、「cutコマンド」を利用して必要な箇所だけ抜き取って表示させたいと思います。
「cutコマンド」のオプション「c」で文字の位置を範囲を指定します。「3-10」なので3文字目から10文字目まで抜き取ります。

[rocky001@rockylinux001 ~]$ cut -c 3-10 rocky3.txt
cdefghij
rl + dを入
tal 12
wxrwxr-x
wxrwxr-x
wxrwxr-x
w-rw-r–
w-rw-r–
w-rw-r–
w-rw-r–
w-rw-r–
w-rw-r–
[rocky001@rockylinux001 ~]$

次は「デミリタ」に「半角スペース」を指定して、「フィールド」を「1から3列」まで取り出して表示させています。

[rocky001@rockylinux001 ~]$ cut -d ” ” -f 1-3 rocky3.txt
abcdefghijklmn
Ctrl + dを入力して抜けます。
total 12
drwxrwxr-x. 2 rocky001
drwxrwxr-x. 2 rocky001
drwxrwxr-x. 2 rocky001
-rw-rw-r–. 1 rocky001
-rw-rw-r–. 1 rocky001
-rw-rw-r–. 1 rocky001
-rw-rw-r–. 1 rocky001
-rw-rw-r–. 1 rocky001
-rw-rw-r–. 1 rocky001
[rocky001@rockylinux001 ~]$

pasteコマンド

2つのファイルを連結して表示するコマンドです
※pasteコマンドは仮想ファイルへ連結結果を表示するだけのコマンドです。連結結果は保存されません。保存をする場合はリダイレクトを利用して実際のファイルへ出力します。
文法:
paste [省略できるOP] ファイル名(1) ファイル名(2) …
※OP:オプションのことです。
コマンドの参考資料はこちら

連結のオプションには「d」や「s」が利用されます。
「d」:連結する部分にデミリタを追加します。(デフォルトはtab)
デミリタ指定には「-d “-“」や「-d “\n”」や「-d “\t”」のように記述します。「\n:改行」・「\t:タブ」「\\:バックスラッシュ」

「s」:ファイル単位で連結します。

デミリタに「:」を指定して同じファイルを連結してみます。次のようにコマンドを入力します。

[rocky001@rockylinux001 ~]$ paste -d “:” rocky1.txt rocky1.txt
baseball:baseball
rugby:rugby
soccer:soccer
golf:golf



golf:golf
basketball:basketball
volleyball:volleyball
golf:golf
tennis:tennis

今回は以上になります。

「Linux」おすすめ書籍6選【初心者・脱初心者用】| 現役エンジニア&プログラミングスクール講師「Linux」初心者の方がLinuxの操作や仕組みを理解するためのお勧めの書籍について取り上げています。また中級者として更に進んだ学習ができる書籍についても1冊取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】| 現役エンジニア&プログラミングスクール講師「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
09-Linux & Virtual Box

Virtual Box & Linux(Part.22)| Virtual box でUSBメモリを認識させる方法 | 現役エンジニア&プログラミングスクール講師

2023年5月22日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
09-Linux & Virtual Box

Virtual Box & Linux(Part.9)| Linux テキスト処理(1)| 現役エンジニア&プログラミングスクール講師

2023年4月27日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
09-Linux & Virtual Box

Virtual Box & Linux(Part.23)| Linux USBメモリ内でのパーティショ作成とファイルシステム作成 | 現役エンジニア&プログラミングスクール講師

2023年5月25日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
09-Linux & Virtual Box

Virtual Box & Linux(Part.16)| Linux ファイル管理(1)| 現役エンジニア&プログラミングスクール講師

2023年5月8日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
09-Linux & Virtual Box

Virtual Box & Linux(Part.11)| Linux テキスト処理(3)| 現役エンジニア&プログラミングスクール講師

2023年4月29日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
09-Linux & Virtual Box

Virtual Box & Linux(Part.15)| Linux ユーザー管理(3)| 現役エンジニア&プログラミングスクール講師

2023年5月7日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site