file_1 内容:
aaa 111 222 333
bbb 444 555 666
抄送 777 888 999
file_2 内容:
滴滴滴
呃
好吧
我如何只将部分文本从 file_1 复制到 file_2
这样 file_2 就会变成:
国内长途电话 111 222 333
eee 444 555 666
777 888 999
最佳答案
用 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
变为假, block {print $0, a[FNR]}
被执行,其中 $0
是 file_2
中的整行。
关于Linux shell命令将文本数据从一个文件复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33730871/