回答
一個廣義的辦法
$ f() { awk '{print $'$1'}' file; }; f 1; f 2
a
b
c
d
e
f
如果文件選項卡或許分隔簡單地用cut
(的paste
逆運算)
$ cut -f1 file.t; cut -f2 file.t
這個簡單的awk命令應該做的工作:
awk '{print $1; s=s $2 ORS} END{printf "%s", s}' file
a
b
c
d
e
f
恕我直言,我認爲OP的要求輸出是差異因爲OP需要首先打印1美元,然後打印2美元。 – RavinderSingh13
謝謝@ RavinderSingh13,我忽略了那部分。現在已經糾正了。 – anubhava
您可以使用進程替換;這將消除爲每列創建文件的需要。
$ cat file
a d
b e
c f
$ cat <(awk '{print $1}' file) <(awk '{print $2}' file)
a
b
c
d
e
f
$
OR
按照註釋你可以合併多個命令及其輸出重定向到一個不同的文件是這樣的:
$ cat file
a d
b e
c f
$ (awk '{print $1}' file; awk '{print $2}' file) > output
$ cat output
a
b
c
d
e
f
$
在這種情況下,'cat'看起來沒用:'(awk'{print $ 1}'文件; awk'{print $ 2}'文件)'應該足夠了。 –
子殼也不需要,只是'awk ..; awk ..'會做。 – karakfa
另一種方法:
for i in $(seq 1 2); do
awk '{print $'$i'}' file
done
輸出:
a
b
c
d
e
f
只有在輸入發生排序時纔有效,但在一般情況下不適用。 –
不,這不是,這就是爲什麼它用一種排序管道 – Unwastable
它交錯然後排序。假設輸入看起來像'a b \ nc d'。期望的輸出是'a \ nc \ nb \ nd',但是你的輸出是'a \ nb \ nc \ nd'。 –
試:不讀取文件兩次或沒有任何外部電話s的任何其他命令,只有一個awk來拯救。另外考慮到你的Input_file與所示樣本相同。
awk '{VAL1=VAL1?VAL1 ORS $1:$1;VAL2=VAL2?VAL2 ORS $2:$2} END{print VAL1 ORS VAL2}' Input_file
說明:只需在創建一個名爲VAL1變量,它包含$ 1值,並保持在它自己的價值串聯,VAL2將有$ 2'S價值,不斷串接在它自己的價值。在awk的END部分,打印VAL1和VAL2的值。與;
您可以組合的bash命令來獲取單個流:
使用過程中替換,如果你想要的是,如果它是一個單一的文件:
$ txt=$(awk '{print $1}' file; awk '{print $2}' file)
$ echo "$txt"
a
b
c
d
e
f
或爲一個Bash while
循環:
$ while read -r line; do echo "line: $line"; done < <(awk '{print $1}' file; awk '{print $2}' file)
line: a
line: b
line: c
line: d
line: e
line: f
- 1. 級聯排成一列來自兩個不同的表
- 2. AngularJS - 從同一來源級聯選擇
- 3. log4j:一個班級;同一水平;兩個輸出文件
- 4. MySql從兩個表中級聯刪除
- 5. 兩列tsv文件的聯合
- 6. 兩列相同列的鋼軌關聯
- 7. 級聯這些.po文件到一個單一的.po文件
- 8. 從兩個級聯列表中獲取最大值(DateTime)ORACLE
- 9. 陣列級聯
- 10. Gulpjs級聯和文件名
- 11. 級聯TextDelimited日誌文件
- 12. 嵌入級聯XML文件
- 13. matlab文件I/O級聯
- 14. Java:同一文件中的兩個頂級課程
- 15. Hadoop的級聯:CascadeException「允許級聯沒有循環」當協同組管兩次
- 16. 同質套級聯
- 17. MSSQL級聯刪除與FK兩列一個表
- 18. 從同級組件
- 19. 寫不同線從陣列到兩個不同的文件
- 20. 級聯下拉框從MSSQL不級聯
- 21. MVC剃刀兩級級聯列表框不會過濾
- 22. 從兩個柱狀文件的第二列從第一列
- 23. Typescript - 從同一級別的另一個目錄導入文件
- 24. 從同一文件
- 25. 的XPath:串聯同級節點文本
- 26. 的Python:如何從同級文件夾
- 27. 級聯不同的值內的晶體一個列報告
- 28. SQL級聯多列
- 29. jsf級聯列表
- 30. DataGridView級聯/從屬組合框列
剪切方法似乎是連接文件的最快方法。我將在一個擁有64百萬行的文本文件上運行,因此速度很快。 – rommedahl