file_1内容:
aaa 111 222 333
bbb 444 555 666
ccc 777 888 999
file_2内容:
DDD
EEE
fff
如何仅将文件的一部分从file_1复制到file_2
以便file_2成为:
ddd 111 222 333
eee 444 555 666
fff 777 888 999
答案 0 :(得分:2)
尝试使用awk:
awk 'NR==FNR{a[FNR]=$2FS$3FS$4;next} {print $0, a[FNR]}' file_1 file_2
说明:
NR
是当前输入行,FNR
是当前文件中的输入行数,您可以通过
$ awk '{print NR,FNR}' file_1 file_2
1 1
2 2
3 3
4 1
5 2
6 3
因此,条件NR==FNR
仅在阅读第一个文件时才为真,而当$2
,$3
和$4
列保存时在a[FNR]
。阅读file_1
后,条件NR==FNR
变为false并执行了阻止{print $0, a[FNR]}
,其中$0
是file_2
中的整行。