常常会需要将程序中的输出语句注释,往往手工非常慢,而且容易漏。
今天研究了 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