スポンサーリンク
awkで特定の列を抽出
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
※MACターミナル(BSD系)での動作確認です。
例えば、カンマ区切りのファイルの2列目を抽出する場合です。
参考:awkの-Fオプションで区切り文字を指定する方法
$ cat in.txt | awk -F"," '{print $2}'
スペース区切りの例は下記の記事で書いています。
参考:awkで$1(1列目)をprint出力する
例えば、下記のin.txtがあったとします。
$ cat in.txt a1,a2,a3 b1,b2,b3 c1,c2,c3 d1,d2,d3 e1,e2,e3
下記が実行結果になります。
$ cat in.txt | awk -F"," '{print $2}' a2 b2 c2 d2 e2
スポンサーリンク
列を抽出して文字列を付与
例えば、2列目を抽出して、2列目の前に文字列を付与します。
$ cat in.txt | awk -F"," '{print "3列目は"$3}'
文字列を連結させているだけですね。
参考:awkで文字列を連結させる方法
下記が実行結果になります。
$ cat in.txt | awk -F"," '{print "3列目は"$3}' 3列目はa3 3列目はb3 3列目はc3 3列目はd3 3列目はe3
3列目の1文字目をsubstr()で抽出して、先頭に文字列を付与しています。
参考:awkでsubstr()を使って文字列を切り出す方法
$ cat in.txt | awk -F"," '{print "3列目の1文字目は" substr( $3, 1, 1)}' 3列目の1文字目はa 3列目の1文字目はb 3列目の1文字目はc 3列目の1文字目はd 3列目の1文字目はe
スポンサーリンク