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

bash – grep内部工作(具有其他文件给出的值的行)?

发布时间:2020-12-15 16:59:28 所属栏目:安全 来源:网络整理
导读:我找到了一些有效的grep,但很想知道为什么. 我有file1.txt 123 和file2.txt 1,xx,bb,bb1,yy,cc,cc2,dd,dd2,dd3,ee,ee4,aa,ee5,zz,za,ffx,22,ff,ee 做grep“`cat file1.txt`”file2.txt 确实是产出 1,eex,ee 但为什么 ?我本以为它会尝试将完整的“字符串”或
我找到了一些有效的grep,但很想知道为什么.

我有file1.txt

1
2
3

和file2.txt

1,xx,bb,bb
1,yy,cc,cc
2,dd,dd
2,dd
3,ee,ee
4,aa,ee
5,zz,za,ff
x,22,ff,ee

做grep“`cat file1.txt`”file2.txt

确实是产出

1,ee
x,ee

但为什么 ?我本以为它会尝试将完整的“字符串”或exat匹配同时匹配到几行.

欢迎使用指针跟进读数.

如下所述: http://pubs.opengroup.org/onlinepubs/009695399/utilities/grep.html

The pattern_list’s value shall consist of one or more patterns separated by newlines

因此换行符被解释为模式之间的分隔符,当引用cat的输出时,文件中的换行符将被保留,grep使用它们将文件内容分成多个模式,每行一个.这看起来与使用grep -f的方式相同.您也可以在不使用cat的情况下通过在命令行中添加模式字符串中的换行来测试它:

$grep "patt1
patt2" file.txt

(编辑:李大同)

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

    推荐文章
      热点阅读