1. 因为把域名从www.actiger.com更改为actiger.com了, 博客中大量引用的地址要替换, 所以就有了替换文件中字符串.
2. 随意查了下sed使用率比较高, linux, mac平台都有, 那就它了.
1. linux
# 替换文件中每行中第1个a为b
sed -i 's/a/b/' 文件
# 替换文件中所有的a为b
sed -i 's/a/b/g' 文件
# 不替换文件内容, 仅打印出替换后的效果, 下面命令打印所有行匹配的字符串.
sed -e 's/a/b/g' 文件
2. mac
# 替换文件中所有的a为b, mac这里必须指定备份文件名称, ""表示空, 也可"_backup"原文件做个备份.
sed -i "" 's/a/b/g' 文件
sed -i "_backup" 's/a/b/g' 文件
3. 还能和其他命令连着用, 比如正则匹配一些文件, 替换匹配文件中的内容. sed与grep和ag都可连用.
# 当前目前下test开头文件结尾所有main替换成hello
sed -i 's/a/b/g' `grep -rl hello --include="test*" .`
# 把.c文件结尾所有main替换成hello, find与ag过滤文件,
# find ${HOME}/WorkPlace/test当前目录所有文件, 一定要写全路径, 防止误操作.
# ag "\.c$"中.需要转译,$表示结尾
sed -i "" 's/main/hello/g' `find ${HOME}/WorkPlace/test |ag "\.c$"`