文件1.txt:
1 Mark USA
2 Amir UK
3 Pant USA
4 Veer IND
我必须添加一个新列
657890
768908
435678
342343
在第三位。所以输出必须是,
输出.txt
1 Mark 657890 USA
2 Amir 768908 UK
3 Pant 435678 USA
4 Veer 342343 IND
答案1
对于 file1.txt:
1 Mark USA
2 Amir UK
3 Pant USA
4 Veer IND
和列.txt:
657890
768908
435678
342343
做:
$ paste file1.txt column.txt | awk '{ print $1,$2,$4,$3 }'
1 Mark 657890 USA
2 Amir 768908 UK
3 Pant 435678 USA
4 Veer 342343 IND
通过重定向到output.txt ( > output.txt
) 来保存它。
答案2
通过以下命令尝试,效果很好
z=`awk '{print NR}' file1| sed -n '$p'`
for ((i=1;i<=$z;i++)); do j=`sed -n ''$i'p' file2`; awk -v i="$i" -v j="$j" 'NR==i{$4=$3;$3=j;print $0}' file1; done
输出
1 Mark 657890 USA
2 Amir 768908 UK
3 Pant 435678 USA
4 Veer 342343 IND