用sed或vi进行多文件替换的方法
来源:互联网 发布:淘宝挂拍修图 编辑:程序博客网 时间:2024/04/29 07:05
需要对多个文件进行查找替换时,很容易想到用sed,但是由于不更改原文件,替换后需要先改名,然后再用更改的文件替换原文件,还是不太方便。其实vi中有更简便的方法,就是用argdo命令。可以用:help argdo查找其功能。
比如我需要在所有本目录下的.xml文件中的202.123.23.12 IP替换为localhost
可以用如下方法:
vi *.xml
:argdo %s/202.123.23.12/localhost/ge | update
其中update是直接替换覆盖原文件,若需要确认,则可使用
:argdo %s/202.123.23.12/localhost/gec | update
以下的Blog中有vi替换方法的详细叙述:
http://www.ibrahim-ahmed.com/2008/01/find-and-replace-in-multiple-files-in.html
另外,新版的sed提供了一种同样简便的多文件替换的方法,就是用带-i选项的sed(不过我猜想你需要查看你使用的sed版本是否支持-i选项),其方法是:
sed -i 's/202.123.23.12/localhost/g' *.xml
这样一条命令就完成了所有的替换操作!如果担心进行了错误替换,可以在-i命令后带后缀进行备份,比如:
sed -i.bak 's/202.123.23.12/localhost/g' *.xml
但应注意:替换命令后只需要有g命令,不能再加p命令。
比如我需要在所有本目录下的.xml文件中的202.123.23.12 IP替换为localhost
可以用如下方法:
vi *.xml
:argdo %s/202.123.23.12/localhost/ge | update
其中update是直接替换覆盖原文件,若需要确认,则可使用
:argdo %s/202.123.23.12/localhost/gec | update
以下的Blog中有vi替换方法的详细叙述:
http://www.ibrahim-ahmed.com/2008/01/find-and-replace-in-multiple-files-in.html
另外,新版的sed提供了一种同样简便的多文件替换的方法,就是用带-i选项的sed(不过我猜想你需要查看你使用的sed版本是否支持-i选项),其方法是:
sed -i 's/202.123.23.12/localhost/g' *.xml
这样一条命令就完成了所有的替换操作!如果担心进行了错误替换,可以在-i命令后带后缀进行备份,比如:
sed -i.bak 's/202.123.23.12/localhost/g' *.xml
但应注意:替换命令后只需要有g命令,不能再加p命令。
- 用sed或vi进行多文件替换的方法
- linux sed命令 批量替换文件内容的方法
- [sed] 用sed替换文件中的内容
- sed批量替换多个文件的字符串
- 使用sed截取或替换文件内字符
- sed awk 替换 多个 文件 字符串
- sed 批量替换多个文件
- sed awk 替换 多个 文件 字符串
- sed 文件查找,替换
- sed 文件查找,替换
- vi或vim查找替换
- vi全局替换方法
- vi全局替换方法
- vi全局替换方法
- vi全局替换方法
- vi全局替换方法
- vi全局替换方法
- vi全局替换方法
- 标准模板库(STL)介绍(下)
- ArcGIS Server架构和安装心得!
- WinCE中RTC驱动开发介绍
- 保留字transient
- C语言运算符表
- 用sed或vi进行多文件替换的方法
- malloc相关
- Linux系统调用列表
- tcp协议简介
- 3 days
- Setting Up NAT on Solaris Using IP Filter
- 根据时间和取随机数 取随机数
- 初学者入门:Struts中基本配置入门
- C