我是初學者,所以我感謝你的幫助。我想用shell腳本來做到這一點。 我有一個看起來像這樣的文件:從一列中取出每個3的值並將它們連成一排
1
2
3
4
5
6
7
8
9
我想將其轉換爲:
1 2 3
4 5 6
7 8 9
這是比這更大,所以我需要的東西一般,很長的文件工作。
謝謝!
我是初學者,所以我感謝你的幫助。我想用shell腳本來做到這一點。 我有一個看起來像這樣的文件:從一列中取出每個3的值並將它們連成一排
1
2
3
4
5
6
7
8
9
我想將其轉換爲:
1 2 3
4 5 6
7 8 9
這是比這更大,所以我需要的東西一般,很長的文件工作。
謝謝!
這裏有一種方法:
awk 'NR%3!=0{printf "%s ",$1;next}1' inputFile
像這樣的東西?
$ seq 9 | sed 'N;N;s/\n/ /g'
1 2 3
4 5 6
7 8 9
你可以做到這一點與paste
,例如:
seq 9 | paste - - - -d ' '
的3個短線是有3列。您添加或刪除短劃線以獲得更多或更少的列。
-d ' '
是用空格分隔列,因爲默認是tab。
一種替代AWK溶液
awk '{ORS = NR % 3 == 0?"\n":" ";} 1' input.txt
+1巧妙使用內置變量。大括號和分號可以忽略,但我想他們提供更多的可讀性。 –
另一種可能性:
seq 9 | pr -atT -s' ' -3
1爲非常好的第一個問題,包括樣本數據,和需要的。 (要是 ...!)。下一次,請務必理解輸入文本框頂部的格式化工具。突出顯示您想要顯示的任何內容,然後點擊「{}」。祝你們好運。 – shellter