Text-Processing
將命令放入 awk 以合併不同文件的列
例如,我有一個 file.txt(每行的列數不同):
1 2 3 4 5 5 6 7 7 7 7 9 10
我有另一個包含 2 列的文件 (file2.txt)
a b c d e f
我使用這個命令:
awk '{print $1,$(cut -f2 file2.txt)}' file.txt > final.txt
我想獲取 file2.txt 的第二列並將其添加到 file1.txt 的第 1 列和第 2 列之間。
前任。結果:
1 d 2 3 4 5 d 5 6 7 f 7 7 7 9 10
我還想維護 file1.txt 的所有剩餘列
純
awk
:awk ' FNR==NR{c[NR]=$2} FNR!=NR{$1 = $1 OFS c[FNR]; print} ' file2 file
輸出:
1 b 2 3 4 5 d 5 6 7 f 7 7 7 9 10
來一點剪切和粘貼怎麼樣?
paste -d" " <(cut -d" " -f1 file1.txt) <(cut -d" " -f2 file2.txt) <(cut -d" " -f2- file1.txt)