GREP初始空间



man bash | grep "-d"

很多结果

man bash | grep " -d"

无结果

这里是怎么回事?

实际上正是它的外观。没有空间,所以GREP找不到任何空间。如果您检查man bash的实际输出:

man bash > data

然后看一下data,您会发现呈现为屏幕上的空间实际上是一个逃生序列。在屏幕上看起来像这样:

May also be specified as -d.

实际上是这样:

May also be specified as ^[[1m-d^[[22m.

您的终端很好地解释了这些。Grep没有。

您是否从某个地方剪切并粘贴了 " -d",其中可能包含一个标签或非ASCII空间?我的Ubuntu 12 Linux 3.2.0-32系统上的所有以下所有工作都可以,其中第一个"之后的空白是ASCII空间。

man bash | grep  " -d"
man bash | grep  " -d"
man bash | grep -- "-d"
man bash | grep -- " -d"
man bash | grep -- "-d" |wc
man bash | grep -- " -d" |wc

后两个表格分别输出43 300 261112 118 855。第四和第六个项目不需要标记选项的--,其中模式以空间而不是破折号开头。

男人bash |grep" -d"

在情况下,您正在搜索字符串" -d"

它给了我回应

但在这里

男人bash |grep" -d"

您正在搜索字符串" -d"(请注意-d之前的空白)。可能是"男人狂欢"没有这样的字符串

但它给我回应(我无法发布屏幕截图)

最新更新