既存の列の間に新しい列を追加するには?

既存の列の間に新しい列を追加するには?

ファイル1.txt:

1 Mark USA
2 Amir UK
3 Pant USA
4 Veer IND

新しい列を追加する必要があります。

657890
768908
435678
342343

3位。したがって、出力は次のようになります。

出力.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

とcolumns.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

関連情報