linux sed 命令:
补充:
cat builtin-probe-kk.c | sed -e '/^\s*$/d' -e '/^\s*\/\//d' -e '/^\s*\/\*/,/\*\//d' | wc -l
统计文件代码行数。
-e 表示连续处理(-e也是回显到标准输出的意思);'/.../d’ 表示匹配特征行并删除,'/^\s*$/d'表示匹配开点是任意空格并直到结尾的行(全是空格的行)并删除;'/^\s*\/\//d'表示匹配任意空格的行并紧跟//的行并删除,\/\/是将两个/分别用\进行转义。'/.../,/---/d’表示匹配...特性行开始,---特征行结束中的所有行并删除。'/^\s*\/\*/,/\*\//d'表示匹配以任意空格开头紧跟/*的行开始,直到以*/结束中间的所有行然后删除。
类似还有'/.../,/---/c XXX XX'表示匹配...特性行开始,---特征行结束中的所有行并将其修改为XXX XX。'/.../,/---/c XXX XX \naaa'跟前面一样只不过替换成两行第一行为XXX XX第二行为aaa,\n为换行符。
'/.../a XXX’ 表示匹配特征行并在后面增加一行XXX。
'/.../i XXX’ 表示匹配特征行并在前面增加一行XXX。