linux - SED 删除带有扩展名的单词

标签 linux bash sed

假设我有这样的东西

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

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

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

最佳答案

你应该能够做到:

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

如果你有< ... >围绕字符串然后你可以这样做:

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

结果:

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

关于linux - SED 删除带有扩展名的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50429717/

相关文章:

C++ 未定义对 <a 函数> 的引用

linux - 在终端 CLI 或 shell 脚本中,我想计算多个文件的行数并将行数写在每个文件的第一行

awk - 使用 sed(或 awk 或 tr)将换行符\n 替换为表达式

庆典/sed/awk : change first alphabet in string to uppercase

linux - 使用 "readline"库时如何绑定(bind)Ctrl+Enter?

ruby-on-rails - 在 linux 机器上部署 RoR 网站

linux - tty 终端中的 Vim 颜色

bash - 记录 bash 函数

linux - 在shell脚本中删除文件中某行的第一个字符

linux - 如何在 Jenkins 中运行 docker rmi $(docker images -a -q) 作为 ssh 脚本的一部分