我有两个文件:
文件1
cat file1
A,1
B,2
C,2
D,3
file2的
cat file2
A
A
A
B
B
C
C
D
期望的输出
cat output
A,A,1
A,A,1
A,A,1
B,B,2
B,B,2
C,C,2
C,C,2
D,D,3
正如您所看到的,file1
的每一行应与file2
的每一行匹配,如果匹配,file1
中的行应添加到file2
中的匹配行{1}}。我试过了join
但它不起作用。我想搜索需要递归,但我不知道在涉及两个文件时如何做到这一点。
非常感谢任何帮助。
由于
答案 0 :(得分:2)
使用awk
:
awk -F, -v OFS=, 'FNR==NR {a[$1]=$0;next} $1 in a{print $1, a[$1]}' file1 file2
A,A,1
A,A,1
A,A,1
B,B,2
B,B,2
C,C,2
C,C,2
D,D,3
答案 1 :(得分:2)
join -t',' -o'1.1,2.1,2.2' file2 file1
这条线就可以了。