Linux命令之sed批量替换字符串操作

使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力;

使用的格式如下:

sed -i "s/oldstring/newstring/g" `grep oldstring -rl path`

其中,oldstring是待被替换的字符串,newstring是待替换oldstring的新字符串,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路径;

-i选项是直接在文件中替换,不在终端输出;

-r选项是所给的path中的目录递归查找;

-l选项是输出所有匹配到oldstring的文件;

 

实例:

1. 替换指定文件的字符串

sed -i "s/oldstring/newstring/g" filename
sed -i "s/6/sk/g" ./test01.txt

2. 字符串替换批量文件操作

sed -i "s/6/sk/g" ·grep 6 -rl /home/work/test` 
sed -i "s/6/sk/g" ·grep 6 -rl /home/work/test/*.sh` 

可将test目录下的所有相关文件都进行字符串替换

 参考:

1.http://blog.163.com/daniel_ao/blog/static/1100988432010722642551/

2. http://www.jb51.net/LINUXjishu/155122.html

posted @ 2016-06-22 17:23  sunny_2015  阅读(61200)  评论(3编辑  收藏  举报