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

前端之家收集整理的这篇文章主要介绍了bash – grep内部工作(具有其他文件给出的值的行)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我找到了一些有效的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

猜你在找的Bash相关文章