首页 > 系统服务 > 详细

【Linux】linux替换目录下所有文件中的某字符串

时间:2021-09-03 17:48:06      阅读:23      评论:0      收藏:0      [点我收藏+]

摘自:https://blog.csdn.net/smilefxx/article/details/84061606

 

linux替换目录下所有文件中的某字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:

sed -i “s/zhangsan/lisi/g” grep zhangsan -rl /modules

解释一下:

-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名

这个命令组合很强大,要注意备份文件

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

使用的格式如下:

1
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
技术分享图片
技术分享图片

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

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`

【Linux】linux替换目录下所有文件中的某字符串

原文:https://www.cnblogs.com/xincha/p/15222878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!