用正则表达式替换文件中的字符串

时间:2014-02-22 15:33:21

标签: regex shell

我手动删除了一些多余的// ------------------------------------- 来自文件夹及其子文件夹here中所有c ++文件的注释。

现在我认为可以用空字符串替换"//<unknown number of dashes><line break>"或通过shell脚本换行。

之后我想用两个换行符替换三个连续的换行符。

有人能告诉我如何使用shell脚本实现这一目标吗?

2 个答案:

答案 0 :(得分:1)

删除所有仅包含短划线和可选尾部空格的C ++样式注释:

sed 's|//--* *$||' -i file.cpp

删除尾随空格:

sed 's/ *$//' -i file.cpp

答案 1 :(得分:0)

我将SzG的命令添加到此命令以使其以递归方式运行:

find . -name '*.cxx' | xargs sed 's|// --* *$||' -i