如何通过比较两个文本文件使用linux命令获得以下输出?感谢。
文件1:
site110
site120
文件2(更新):
domain1.com - site110
domain2.com - site111
domain3.com - site112
domain4.com - site113
domain5.com - site120
domain6.com - site1201
domain7.com - site1202
输出:
domain1.com - site110
domain5.com - site120
如果我使用:
grep -f file1 file2
输出将是:
domain1.com - site110
domain5.com - site120
domain6.com - site1201
domain7.com - site1202
最后两行不是我想要的。感谢。
答案 0 :(得分:14)
来自grep manpage:
-f FILE, --file=FILE
Obtain patterns from FILE, one per line. The empty file
contains zero patterns, and therefore matches nothing. (-f is
specified by POSIX.)
因此:
grep -f file1 file2
domain1.com - site110
domain5.com - site120
答案 1 :(得分:4)
答案 2 :(得分:1)
我认为您正在寻找一种数据库连接功能。 Unix有一个命令:join。在你的情况下:
join -1 1 -2 3 -t " " -o 2.1,2.2,2.3 file1 file2
答案 3 :(得分:0)
diff怎么样?
答案 4 :(得分:0)
可能是man paste
?可能需要一些输出处理。