如何在现有列之间添加新列?

如何在现有列之间添加新列?

文件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

相关内容