【发布时间】:2019-01-23 19:01:53
【问题描述】:
我被分配抓取只包含 ASCII 文本的文件。我在网上找到了这段代码,但就是不明白。
grep '[^ -~]' $someargument
我发现这与以下功能相同:
grep -P -L -r '[^[:ascii:]]' $someargument
【问题讨论】:
-
您能否解释一下您对 仅包含 ascii 文本的抓取文件 的含义。你的意思是要查找所有只包含ascii文本的文件的所有文件名?
-
grep -P -L -r '[^[:ascii:]]' $someargument需要工作。但是你的问题是什么? -
您之前的问题已关闭是有原因的!不要问与前一个相同的新的!副本:Could anyone explain what this line of code means.
-
而Charles Duffy 在您之前的问题中向您解释了为什么它不属于这里。尽管如此,在查看了您的其他问题后,我建议您阅读这些帖子:What topics can I ask about here?; How to create a Minimal, Complete, and Verifiable example; What should I do when someone answers my question?
-
这两个命令在许多情况下具有截然不同的行为。如果
$someargument引用单个文件,则-r是多余的;并且-P选项对于此特定用例无关紧要(您使用的正则表达式不需要-P并且指定它不会改变grep的行为)。我认为剩下的就是“为什么grep oneregex的行为与grep -L oppositeregex的行为相同,其中两个正则表达式是适当互补的,这里并非严格如此。