2014-07-03 57 views
1

我想壓制到一個文件中所有符合以下條件的所有行:刪除匹配給定的開始,所有的線路和2可能結束

  • 該行開始以「*」(一個空格,然後由星)
  • 行以「的.cpp」或「.HPP」

結束我不關心那個 之間的內容因此,舉例來說,本應顯示

  • * ns1/file.cpp
  • * file2.hpp

我嘗試下面的命令 sed -e '/^ \**(\.[hc]pp)$/d' file

但它不匹配的行。 任何幫助將不勝感激。

回答

4

你需要在這兩者之間任意文本匹配使用.*

sed '/^ \*.*\.[hc]pp$/d' file 
+0

這是工作的罰款。 Thx – Davidbrcz

+0

不客氣,很高興它解決了。 – anubhava

0
egrep -v '^ [*].*[.][ch]pp$' YourFilePattern 

的替代物的sed