2008年11月14日

 

awk 1ライナー 列の抜き出し

空白やタブ等で区切られたテキストデータ列の抜き出しには、cutコマンドやawkやperlの1ライナーが便利です。
以下はawkでの実例

# "aaa bbb ccc"の1列目のみを出力する。
$ echo "aaa bbb ccc" | awk '{ print $1 }'
aaa

# "aaa bbb ccc"の2列目のみを出力する。
$ echo "aaa bbb ccc" | awk '{ print $2 }'
bbb

# "aaa bbb ccc"の1,2列目を:(コロン)区切りで出力する。
$ echo "aaa bbb ccc" | awk '{ print $1,":",$2 }'
aaa : bbb

# "aaa,bbb,ccc",(カンマ区切り)の1列のみを出力する。
$ echo "aaa,bbb,ccc" | awk -F',' '{ print $1 }'
aaa

# ps au の結果の2列目(PID)のみを出力する。
$ ps au | awk '{ print $2 }'
PID
XXXXX
XXXXX
XXXXX

同様のことはPerlの1ライナーでも可能です。
Perlの1ライナーについては以下コンテンツへ
Perl ワンライナー 勉強中。

ラベル:


スポンサードリンク