2012-11-02 30 views
0

man bash | grep "\-d"grep的初始空間

很多結果

man bash | grep " \-d"

沒有結果

的這是怎麼回事嗎?

+0

它正常工作對我來說。它僅顯示-d後面跟着一個空格的行。 –

+0

對我來說也都有結果。 –

回答

4

它實際上正是它的樣子。沒有空格,所以grep沒有找到任何空格。如果檢查的man bash實際輸出:

man bash > data 

然後看看data你會看到什麼是呈現爲屏幕上的空間實際上是一個轉義序列。什麼看起來像這樣在屏幕上:

May also be specified as -d. 

實際上是這樣的:

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

你的終端解釋這些就好了。 grep沒有。

+0

是的,我明白了。在這裏找到我的答案:http://stackoverflow.com/questions/12600533/man-grep-grep-color-gives-no-result –

+0

也可以:'也可以指定爲 - \ b-d \ bd.' – mob

0

您是否從可能有選項卡或非ascii空間的地方剪切並粘貼" \-d"?以下所有工作都可以在我的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。標記結束選項的--對於第四和第六項不是必需的,其中模式以空格開始而不是短劃線。

0

man bash | grep的 「-d」

是如果你正在尋找它給字符串 「-d」

我響應

,但在這裏

男人慶典| grep「-d」

您正在搜索字符串「-d」(注意-d前的空格)。 這可能是因爲「男人狂歡會沒有這樣的字符串

但它給了我 響應(我不能發佈截圖)