2016-09-19 57 views
0

好吧,所以当我检查man egrep输出时,我看到字recur出现在很多地方。为什么egrep只在我egrep'man egrep`文件时打印最后一个匹配?

其中一个地方位于man egrep文件的“--recursive”部分。

但是,为什么当我搜索egrep输出时找不到它?

下列不赶man egrep文件的 “--recursive” 的一部分:

man grep | grep -i "recur" 

但为什么不呢?

+0

试试这个:'man grep 2&> 1 | grep -i“recur”' –

+0

是 - 递归条目变得粗暴?然后可能会插入其他字符。在我看来,grep -i“re”确实找到了你要找的行。 – djna

+0

它适合我。我想我的版本的'man'在输出管道时不会产生所有的格式。 – Barmar

回答

0

即使您看到许多发生令牌“复发”的地方,您没有看到的是控制字符隐藏在字符之间 - r,e,c,u,r。控制字符正在被你的shell解释。实际上,在整个手册页中,只有少数几个地方这些5个字符连续出现,而在它们之间没有任何控制(隐藏)字符。

试试这个:

man grep > text.out 
vim text.out 

找到你所谈论的线。你会看到vim显示的控制字符。

1

管到OD -c看到大胆的话是在一个时间

man grep | od -c 

\b g r \b r e \b e p \b 

你错过线条大胆的底气两个字母。