gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:05:55 25 4
gpt4 key购买 nike

我用 grep 找到了一些有用的东西,但我很想知道为什么。

我有 file1.txt

1
2
3

和 file2.txt

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

执行 grep "`cat file1.txt `"file2.txt

确实输出

1,xx,bb,bb
1,yy,cc,cc
2,xx,dd,dd
2,yy,dd,dd
3,yy,ee,ee
x,22,ff,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 - grep 内部工作(具有其他文件给出的值的行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com