我想找到一个文件的每一行,其中包含在不同文件的列中保存的任何字符串.
我试过了
grep“$(awk'{print $1}’file1.txt)”file2.txt
但这只是完整输出file2.txt.
我知道我之前已经使用我在本网站上找到的模式完成了这项工作,但我再也找不到这个问题了.
解决方法
我在OP的评论中看到,问题可能不再是一个问题.但是,以下稍作修改将处理空行情况.只需添加一项检查以确保该行至少包含一个字段:
grep "$(awk '{if (NF > 0) print $1}' file1)" file2
如果带有模式的文件只是每行的一组模式,那么更简单的版本是:
grep -f file1 file2
这导致grep使用file1中的行作为模式.