在 Unix/Linux 系统中经常需要在命令中替换某一类文件中的内容,例如:把 *.xml 文件里的 aaaa 替换成 bbbb 这样的操作。
下面介绍几种方法。
- bash
封装一个 bash 脚本来完成这个操作
1 |
|
脚本的步骤是: vi 打开文件 -> 使用 %s
正则匹配替换 -> 保存并关闭
- sed
1 | sed -i 's/old_str/new_str/g' *filename* |
如果是sed的老版本不支持 -i 参数,那就不能修改源文件,只能是先把替换的结果用重定向符输出到一个临时文件,然后再覆盖源文件了。
- perl
1 | perl -pi -e 's/old_str/new_str/g' *filename* |