sed是一个流文本编辑工具,全称是 stream editor,以下仅列举我常用的几个功能。
批量替换
比如某个函数名改了,那么其他文件中调用的函数全部都要修改,如果用手动修改,那是费时费力,此时需要借助sed.
## 配合find 查找出所有 *.h文件,将文件中的g_pErrorLog改为LogError
## 注意sed 后面的 -i 一定要加上,否则不会就修改文件
find ./ -name "*.h"|xargs sed -i 's/g_pErrorLog/LogError/g'
删除空行
## ^ 表示匹配开头 $表示匹配结尾 d表示删除 开头和结尾在一起表示匹配空行
sed /^$/d test.txt
添加字符
行头添加字符
## 在每行的头添加字符,比如行头添加"HEAD"
sed 's/^/HEAD/g' test.file
行位添加字符
## 在每行的行尾添加字符,比如“TAIL”
sed 's/$/TAIL/g' test.file