Linuxでテキストファイルのレコードを処理する!(awk)

Linuxでawkコマンドを使用してテキストファイルのレコードを処理します。

サンプルのデータを用意する!

以下のサンプルデータを用意します。

$ cat test.txt
server01   server01
server02   server02

特定の行のみを取り出す!

1行目のみを取り出します。区切り文字を「-F」オプションで指定するのがポイントです。

$ cat test.txt | awk -F' ' '{print $1}'
server01
server02

CSVファイルに変換する!

出力する区切り文字と列を指定すれば、CSV形式に変換することができます。

$ cat test.txt | awk -F' ' '{OFS=",";print $1,$2}' 
server01,server01
server02,server02

行番号を出力する!

awkでは行番号をNRとういう変数に格納しているので、簡単に出力することができます。

$ cat test.txt | awk -F' ' '{print NR,$0}'
1 server01   server01
2 server02   server02

おわりに

awkでよく使用しそうなテキストファイルの処理のパターンを実行してみました。

関連記事

関連書籍(Amazon)