2013-07-07 17 views
1

我想選擇一個文件,與一些模式開始,不以連字符(「 - 」)結尾的行搜索使用grep丟棄連字符在最後

我目前正試圖:

grep -v ".-" file | grep "^String" 

它大部分工作正常,但有一點例外,它「丟棄」在任何部分有連字符的任何行,不僅在最後,所以,如果我只有結束連字符的行,這很好,但如果偶然的話,這條線在中間還有另一個連字符,它也會丟棄它,即使它最後沒有。

¿我怎樣才能設置它只在最後放棄帶連字符的行?我敢肯定這是一個syntaxis中的小問題,所以,歡迎任何幫助:)提前致謝!

回答

1

要僅匹配末尾,可以使用$來匹配行的末尾。

grep -v "\-$" file 
+0

此外試過,不起作用,因爲連字符是一個特殊字符,嘗試添加-e和相同的結果=/ – user2266881

+0

@ user2266881嘗試逃脫它。 – squiguy

+0

已經嘗試過,它也沒有工作=/ – user2266881