スポンサーリンク
BEGINブロックに、OFS変数でタブ区切りを設定しよう
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
デフォルトでは、awkのprint出力はスペース区切りで出力されるようになっています。
OFS="\t"のように、OFS変数でタブ区切りに設定することで、タブ区切りの出力ができるようになります。
下記のようにBEGINブロックで、初期設定してしまうのが良いと思います。
BEGINブロック以降の処理で、設定が適用されることになります。
BEGIN { OFS="\t" #タブ区切りの出力を設定している }
スポンサーリンク
print文にはカンマ区切りで変数を羅列
print文を書く時は、下記のように変数もしくは文字列を、カンマ区切りで羅列します。
カンマの部分がタブとなります。
print year , month , day #カンマ区切りで変数を羅列
サンプルコード
サンプルコードを下記に記載しましたので、参考にしてください。
スペース区切りとなっているin.txtを一行ずつ読み込んで、タブ区切りで出力し直しています。
$ cat in.txt 2017 1 1 2017 1 2 $ cat sample.awk #!/bin/sh cat in.txt | awk ' BEGIN { OFS="\t" #タブ区切りの出力を設定している } { year = $1 month = $2 day = $3 print year , month , day #カンマ区切りで変数を羅列 } ' $ ./sample.awk 2017 1 1 2017 1 2
スポンサーリンク