【发布时间】:2023-03-09 10:14:01
【问题描述】:
以下是两个文件的内容,
文件:1
257054
256986
257144
文件:2
257054|Guestroom|http://397_b.jpg|350|350||http://397/hotels/2000000/1330000/1321300/1321278/1321278_397_t.jpg|0
257057|Guestroom|http://398_b.jpg|350|350||http://398/hotels/2000000/1330000/1321300/1321278/1321278_398_t.jpg|0
我需要一个 Bash 命令来比较两个文件,并且输出只包含
257054|Guestroom|http://397_b.jpg|350|350||http://397/hotels/2000000/1330000/1321300/1321278/1321278_397_t.jpg|0
我可以使用正常的 for 循环迭代,但速度很慢。我需要一些使用 awk 或 sed 的快速处理解决方案。
【问题讨论】:
-
试过
grep -f file1 file2???虽然不是一个强大的解决方案 -
我试过没有返回任何输出
-
您可能有一个没有
-f标志的 grep 版本(尽管我认为这是非常标准的),但该解决方案可以用作 @PS。描述 -
部分匹配还是完全匹配?在一个领域或几个领域或整条线上?正则表达式或字符串比较?具体一点。
-
谢谢 PS,我找到了原因,file1 中有一些元空间阻止了这个 grep 命令的功能。现在它工作正常,但我的文件包含近 10 百万个条目,这使得这种方法的性能密集度较低。