3

初心者ですので、よろしくお願いします。シェルスクリプトでやりたい。次のようなファイルがあります。

1
2
3
4
5
6
7
8
9

私はそれを次のように変換したい:

1 2 3
4 5 6
7 8 9

それよりも大きいので、長いファイルで機能する一般的なものが必要です。

ありがとう!

4

5 に答える 5

3

別の awk ソリューション

awk '{ORS = NR % 3 == 0?"\n":" ";} 1' input.txt
于 2013-07-12T18:30:46.573 に答える
2

1 つの方法を次に示します。

awk 'NR%3!=0{printf "%s ",$1;next}1' inputFile
于 2013-07-12T18:28:00.693 に答える
2

pasteたとえば、次のようにします。

seq 9 | paste - - - -d ' '

3 つのダッシュには 3 つの列があります。ダッシュを追加または削除して、列を増やしたり減らしたりします。

-d ' 'デフォルトはタブであるため、列をスペースで区切ることです。

于 2013-07-12T18:28:08.790 に答える
1

このようなもの?

$ seq 9 | sed 'N;N;s/\n/ /g'
1 2 3
4 5 6
7 8 9
于 2013-07-12T18:27:31.760 に答える