常常会需要将程序中的输出语句注释,往往手工非常慢,而且容易漏。

今天研究了 linux  的 sed, 真心好用。。


例子: 将 包含 cout 的语句注释,也就是说包含cout 语句前加入字符串 //


做法1:

在vi 中, :1,$s/^.*cout/\/\/&/g

解释一下:  $  表示最后一行

                 ^  表示行首,

                 .* 表示若干个字符

                 //  由于有特殊含义,前面加\去掉特殊含义

                 & 表示在所找的字符串前面加入 &前的字符串


做法2:

如果当你的文件有几万行,先用 vi 打开文件将非常慢。

这个时候就可以采用 sed.

sed 同样支持正则表达式,同样的功能可以采用如下的语句:

      sed -i 's/^.*cout/\/\/&/g  test.cc


-i 表示直接在原文件上操作。


此外,利用 sed 可以非常容易的将 一个 dos 的文件改成 linux 的文件(换行符号不同)

采用如下的命令:

     sed -i 's/\r//g' test.txt

 


Logo

更多推荐