[awk] 複数行で構成されたデータを横並びにする

カテゴリ: 未分類 | タグ:

例えば以下のように、空行くぎりで1行目と2行目がペアのデータがあったとする

$ cat words
apple
りんご

orange
みかん

grape
ぶどう

これを横並びにするには、awkでフィールドの区切り文字を"\n", レコードの区切り文字を""にすれば加工しやすい

$ awk 'BEGIN {FS="\n"; RS=""} {print $1,$2}' words
apple りんご
orange みかん
grape ぶどう

出力をタブ区切りにしたいときはOFSをセットする

$ awk 'BEGIN {FS="\n"; RS=""; OFS="\t"} {print $1,$2}' words
apple   りんご
orange  みかん
grape   ぶどう

特別なフォーマットを行いたい場合は、printfを使用する

$ awk 'BEGIN {FS="\n"; RS=""} {printf("[%-10s]  %s\n",$1,$2)}' words
[apple     ]  りんご
[orange    ]  みかん
[grape     ]  ぶどう

Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です