2013-05-17 33 views
0
開頭的行

我正在嘗試使用GREP命令來列出所有包含字母 'd'的行至少連續兩次(即彼此相鄰),從文件「test 」。但我無法實現它的工作。有人可以幫忙嗎?使用grep列出以

我無法顯示我想要的。我不確定這是如何工作的。我試過grep [dd],但沒有奏效。

這是非常令人困惑,我

+0

所以你說'grep'的基本功能不工作? 'grep dd test'這是什麼給你的? – abasu

+0

標題說:「使用grep列出行」;但這個問題沒有提到這個要求。你能澄清一下嗎? –

+0

請注意,字符類匹配*單個*字符。因此,字符類中的字符列表實際上是一個* set *。 –

回答

1

以下應使其:

grep dd <your_file> 
+0

我怎麼能夠讓它連續搜索超過2個? –

+0

另外,我是否需要.txt? –

+0

這將列出已找到「dd」的行。因此,如果一行包含「ddddd」,那麼它將被列出,因爲它顯然包含「dd」... – JonesV

3

在正則表達式:

^字符是指,數據線的起點。所有字符都與自己匹配。

所以,如果你想找到以「DD」行,請嘗試:

grep ^dd <your_file> 

但是如果你只是在找出與「DD」圖案線條感興趣,請嘗試:

grep dd <your_file> 
0

您的grep [dd]指定了包含「d」和「d」的set(set = [])中的任何一行字符。因此,簡單地將它們並排放置而不用方括號可以爲所有包含「d」的行提供另一個「d」後面的方法。

cat yourfile | grep dd 
grep dd yourfile 
grep dd <yourfile 

都應該工作,假設你更換「yourfile」與您的文件的名稱。

如果您確實在尋找以兩個或更多「d」開頭的行,則使用Sagar的「^ dd」而不是「dd」。同樣,可以使用「dd $」作爲行,結尾,並帶有兩個或多個「d」。

您可以嘗試「man regexp」或http://www.zytrax.com/tech/web/regex.htm瞭解更多信息。