使用sed直接在原文中替换

转发自 https://www.cnblogs.com/coffy/p/5607913.html

使用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

发布了112 篇原创文章 · 获赞 45 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/zh515858237/article/details/87896255