SED删除带扩展名的单词

时间:2018-05-19 21:39:42

标签: linux bash sed

让我说我有类似的东西

OBJ=GameBook main.cpp Game.cpp Game.h Storyline.cpp Storyline.h

如何使用SED删除以.h(头文件)结尾的单词?

到目前为止,我有sed 's/\<.*\.h\>//g' 这会删除整行,而不是我想要的单词。

3 个答案:

答案 0 :(得分:1)

你应该可以这样做:

sed 's/[a-zA-Z]*.h *//g'

如果您在字符串周围< ... >,那么您可以这样做:

sed 's/<*[a-zA-Z]*.h>* *//g'

<强>结果

OBJ=GameBook main.cpp Game.cpp Storyline.cpp 

答案 1 :(得分:1)

它也适用于:

sed s/.\\w\\+.h//g text.txt

<强>结果:

OBJ=GameBook main.cpp Game.cpp Storyline.cpp

答案 2 :(得分:0)

你也可以试试这个sed

sed 's/^\| [^ ]*\.h//g'