Linux 如何用空格来解释grep的这种行为?
我是Linux世界的新手,我想使用Linux 如何用空格来解释grep的这种行为?,linux,grep,Linux,Grep,我是Linux世界的新手,我想使用grep查找print后面跟一个空格。它出现在文件/path/script.py中-您必须信任我。我很惊讶地看到这一点 grep --include=\script.py -rnwlF '/path/' -e 'print' 正确输出文件名,但 grep --include=\script.py -rnwlF '/path/' -e 'print ' 没有。但绝对可以肯定的是,文件中存在空间 会发生什么?这可能是某种奇怪的字符编码问题吗?你从哪里得到这句话的
grep
查找print
后面跟一个空格。它出现在文件/path/script.py
中-您必须信任我。我很惊讶地看到这一点
grep --include=\script.py -rnwlF '/path/' -e 'print'
正确输出文件名,但
grep --include=\script.py -rnwlF '/path/' -e 'print '
没有。但绝对可以肯定的是,文件中存在空间
会发生什么?这可能是某种奇怪的字符编码问题吗?你从哪里得到这句话的?通过使用
-w
选项,您可以要求grep
仅选择与整个单词匹配的行。因此,如果文件中确实包含“print
后跟空格”,则删除该文件应输出该文件:
但是,如果您仅通过一个文件执行grep
,则只需编写以下内容就更简单了:
grep -lF '/path/script.py' -e 'print '
这就解决了,谢谢。我从某个网页上找到的一个示例中复制粘贴了这行代码,使用了好几次,以前从未失败过。这就是为什么我认为问题出在文件上。Stack Overflow是一个解决编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。
grep -lF '/path/script.py' -e 'print '