Text-Processing
如何交替合併文件中的 2 列?
如何交替合併文件中的 2 列?請參見下面的範例。
輸入文件:
sam jam tommy bond
預期輸出:
sam jam tommy bond
只需**
awk
**:awk '{ print $1 ORS $2 }' file
$1
和$2
- 分別是第一個和第二個欄位ORS
- 輸出記錄分隔符。的初始值為ORS
字元串“\n
”(即換行符)輸出:
sam jam tommy bond
一些替代方案:
使用 awk :
$ awk '$1=$1' OFS="\n" file1 sam jam tommy bond
此解決方案適用於每行任意數量的欄位:
$ cat file2 one two three four five six seven eight nine $ awk '$1=$1' OFS="\n" file2 one two three four five six seven eight nine
OFS
是輸出欄位分隔符。
$1=$1
強制 awk 使用 OFS “重新計算”每條記錄 ($0)只是為了好玩,下面有一個 sed 替代方案,它也適用於每行任意數量的欄位:
$ sed -r 's/[ ]+/\n/g' file2