2015-11-16 62 views

回答

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变为假并且执行了块{print $0, a[FNR]},其中$0file_2中的整行。

+0

如果要复制的文本不是长度固定的,该怎么办?我的意思是,就像一个文本字符串有可变的文本字段不一定是4,我想复制除第一个以外的所有文本字段。 – ray

+0

@ray同样的故事。变量'$ 1','$ 2'等是行中的字段。所有'awk'关心的是字段分隔符,默认情况下是一个或多个空格。字段本身可以是可变长度的字符串。 – user2314737

相关问题