スポンサーリンク
awkで列を削除
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
前にawkの列の追加に関する記事を書きました。
今回は列を削除する場合です。
※MACターミナル(BSD系)での動作確認です。
参考:awkで列を追加・挿入する方法
参考:awkで列を入れ替える方法
※MACターミナル(BSD系)での動作確認です。
例えば、下記のin.txtがあったとします。
$ cat in.txt HEAD1,middle1,TAIL1 HEAD2,middle2,TAIL2 HEAD3,middle3,TAIL3
例えば、2列目を削除する場合には、
print出力時に、$1と$3のみprint出力するだけです($2はprint出力しない)。
$ cat in.txt | awk -F"," '{print $1 "," $3}'
下記が実行結果になります。
$ cat in.txt | awk -F"," '{print $1 "," $3}' HEAD1,TAIL1 HEAD2,TAIL2 HEAD3,TAIL3
ファイル出力する場合には、下記のように書けます。
$ cat in.txt | awk -F"," '{print $1 "," $3}' >out.txt
下記が実行結果になります。
$ cat out.txt HEAD1,TAIL1 HEAD2,TAIL2 HEAD3,TAIL3
スポンサーリンク
先頭列と最終列に列を削除
先頭列の列を削除します。
先程と同様に、$1以外をprint出力します。
$ cat in.txt | awk -F"," '{print $2 "," $3}' >out.txt
下記が実行結果になります。
$ cat out.txt middle1,TAIL1 middle2,TAIL2 middle3,TAIL3
最終列の列を削除する場合です。
print出力時に、最終列の$3以外をprint出力します。
$ cat in.txt | awk -F"," '{print $1 "," $2}' >out.txt
下記が実行結果になります。
$ cat out.txt HEAD1,middle1 HEAD2,middle2 HEAD3,middle3
スポンサーリンク