スポンサーリンク
awkで列を挿入
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
列の操作はawkが便利です。
※MACターミナル(BSD系)での動作確認です。
例えば、下記のin.txtがあったとします。
$ cat in.txt 1991 55 1991 66 1991 77
1列目と2列目の間に、"add"という文字列の列を挿入します。
print出力時に、$1と$2の間に"add"を挿入します。
参考:awkで列を入れ替える方法
ワンライナーで書いています。
$ cat in.txt | awk '{print $1 " " "add" " " $2}'
下記が実行結果になります。
$ cat in.txt | awk '{print $1 " " "add" " " $2}' 1991 add 55 1991 add 66 1991 add 77
下記のようなcsvファイルの場合には、-Fオプションで","を指定します。
$ cat in.txt 1991,55 1991,66 1991,77
下記が実行結果になります。
$ cat in.txt | awk -F"," '{print $1 "," "add" "," $2}' 1991,add,55 1991,add,66 1991,add,77
スポンサーリンク
先頭列と最終列に列を追加
先頭列に列を追加します。
先程と同様に、print出力時に、先頭に文字列を追加します。
$ cat in.txt | awk '{print "head" " " $1 " " $2}'
下記が実行結果になります。
$ cat in.txt | awk '{print "head" " " $1 " " $2}' head 1991 55 head 1991 66 head 1991 77
最終列に列を追加する場合です。
$ cat in.txt | awk '{print $1 " " $2 " " "tail"}' 1991 55 tail 1991 66 tail 1991 77 tail
out.txtにファイル出力する場合は、下記のように書けます。
$ cat in.txt | awk '{print $1 " " $2 " " "TAIL"}' >out.txt
out.txtは下記のようになります。
$ cat out.txt 1991 55 TAIL 1991 66 TAIL 1991 77 TAIL
スポンサーリンク