各列が列内で互いに「重なるように」フォーマットを再指定するデータ列が複数あります。
入力例:
1 2 3 4
1 2 3 4
希望の出力:(「1」と「3」が欠落している古いスペルエラーを修正しました。)
1
1
2
2
3
3
4
4
(時々列の間にスペースを追加したい場合もあります)
編集する: 「間の空間」の説明は不明です。たまには、積み重ねられた列の間に空の行が欲しい時があります。以下のEd Mortonの回答を適用すると、次のように達成できます。
awk '
{for (i=1; i<=NF; i++) a[i]=a[i] $i ORS}
END {for (i=1; i<=NF; i++) printf "%s", a[i](i==NF?"":"\n")}
' file
ベストアンサー1
datamash
データを置き換えてからスペースを改行文字に変換するために使用されますtr
(-s
複数のスペースを1つに圧縮している間)。
datamash -t' ' transpose <infile | tr -s ' ' '\n'