Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何用空格来解释grep的这种行为?_Linux_Grep - Fatal编程技术网

Linux 如何用空格来解释grep的这种行为?

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 ' 没有。但绝对可以肯定的是,文件中存在空间 会发生什么?这可能是某种奇怪的字符编码问题吗?你从哪里得到这句话的

我是Linux世界的新手,我想使用
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 '