初心者ですので、よろしくお願いします。シェルスクリプトでやりたい。次のようなファイルがあります。
1
2
3
4
5
6
7
8
9
私はそれを次のように変換したい:
1 2 3
4 5 6
7 8 9
それよりも大きいので、長いファイルで機能する一般的なものが必要です。
ありがとう!
別の awk ソリューション
awk '{ORS = NR % 3 == 0?"\n":" ";} 1' input.txt
1 つの方法を次に示します。
awk 'NR%3!=0{printf "%s ",$1;next}1' inputFile
paste
たとえば、次のようにします。
seq 9 | paste - - - -d ' '
3 つのダッシュには 3 つの列があります。ダッシュを追加または削除して、列を増やしたり減らしたりします。
-d ' '
デフォルトはタブであるため、列をスペースで区切ることです。
このようなもの?
$ seq 9 | sed 'N;N;s/\n/ /g'
1 2 3
4 5 6
7 8 9