加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

使用每行awk输出作为grep模式

发布时间:2020-12-14 01:25:10 所属栏目:Linux 来源:网络整理
导读:我想找到一个文件的每一行,其中包含在不同文件的列中保存的任何字符串. 我试过了 grep“$(awk'{print $1}’file1.txt)”file2.txt 但这只是完整输出file2.txt. 我知道我之前已经使用我在本网站上找到的模式完成了这项工作,但我再也找不到这个问题了. 解决方
我想找到一个文件的每一行,其中包含在不同文件的列中保存的任何字符串.

我试过了
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中的行作为模式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读