【发布时间】:2018-07-08 10:05:30
【问题描述】:
我有几个 .c 和 .h 文件,它们在内部包含 TODO 和 Fixme 消息。 我想使用 shell 脚本删除它们。 问题是 TODO 或 Fixme 消息可以在一行中,也可以与代码在同一行中。
// TODO : single line todo
// Fixme : single line fixme
if(test != 0) // Fixme : code line fixme
我可以使用 find & sed 编写一个 shell 命令来删除单行 TODO 消息,如下所示;
find . -name "*.h" -exec sed -i '/TODO/d' {} \;
我也需要一个技巧来删除代码行 fixme。
谢谢
【问题讨论】:
-
sed -i 's#\(.*\)//.*\(TODO\|Fixme\).*#\1#' -
@SamuelKirschner 谢谢你,这很有帮助!
标签: shell sed replace scripting grep