2016-09-19 83 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 

你錯過線條大膽的底氣兩個字母。