こんにちは、みっちゃんです。

以前の記事で「並び換え」のコマンドである「sort」を紹介しました。

今回の記事では「列の取り出し」コマンドである「awk」と、「検索」コマンドである「find」を紹介します。

目次(まとめ)
- 「awk」コマンドを使って、指定した列を取り出し
- 「find」コマンドを使って、ファイルを検索

「awk」コマンドを使って、指定した列を取り出し

例として、以下のようなタブ区切りのテキストファイル(test.txt)があったとします。

### test.txt ###
001	A	90
002	B	50
003	C	56
004	D	84
005	E	49

このファイルから、3列目を取り出したい場合には、以下のように実行します。

$ awk -F $'\t' '{print $3}' test.txt

ここで、「-F」は区切り文字を指定するためのオプション、「print $3」は、3列目を出力するという意味です。

コマンドを実行すると以下のように出力されます。

$ awk -F $'\t' '{print $3}' test.txt
90
50
56
84
49

発展編として、もしこの出力結果を値が小さいものから並ぶようにしたい場合には、以前の記事で紹介した「sort」コマンドを利用します。

$ awk -F $'\t' '{print $3}' test.txt | sort 

ここで「|」は「パイプ」といい、「|」前までの結果に対して「|」以降の処理、ここでは「sort」コマンドを実行するという意味になります。

よって、出力結果は以下のようになります。

$ awk -F $'\t' '{print $3}' test.txt | sort 
49
50
56
84
90

「find」コマンドを使って、ファイルを検索

ファイルを検索したい場合には「find」コマンドを指定します。

例えば、デクストップにあるファイルの中で"test"という単語があるファイルを見つけたいという場合には、以下のように実行します。

$ find ~/Desktop/ -name "*test*"

「find」コマンドの基本的な使い方は、「find [場所] -name [ファイル名]」です。

ここでは、「デスクトップ」からファイルを探したいので「~/Desktop/」を指定し、「ファイル名」には「*test*」を指定して"test"が含まれるファイルを探しています。