つまり、次のように設定してください。
Column_A Column_B Column_C
-------- -------- --------
value-1a value-1b value-1c
value-2a value-2b value-2c
以下を入力してください:
Column_A: value-1a
Column_B: value-1b
Column_C: value-1c
Column_A: value-2a
Column_B: value-2b
Column_C: value-2c
答え1
上記のテーブルが次の名前のファイルにある場合table
:
$ awk 'NR==1 { for (i=1;i<=NF;i++) header[i]=$i }
NR>2 { for (i=1;i<=NF;i++) print header[i] ": " $i
print ""}' table
ヘッダーは最初の行に収集されます。 2行目はスキップされます。残りの行は示されているように印刷されます。
私はそれは非常にエレガントだとは思わないが、仕事を完了します。
答え2
$ cat tst.awk
BEGIN { OFS="\n"; ORS="\n\n" }
NR == 1 { split($0,tags) }
NR > 2 {
for (i=1; i<=NF; i++) {
printf "%s: %s%s", tags[i], $i, (i<NF ? OFS : ORS)
}
}
$ awk -f tst.awk file
Column_A: value-1a
Column_B: value-1b
Column_C: value-1c
Column_A: value-2a
Column_B: value-2b
Column_C: value-2c