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)