我有两个文件:
文件1
cat file1
A,1
B,2
C,2
D,3
文件2
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
中的匹配行。我试过 join
但它不起作用。我想搜索需要递归,但我不确定当涉及两个文件时如何进行搜索。
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
使用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
关于bash - 将一个文件的每一行与另一个文件的每一行进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26160261/