linux批量替换文件内容的实现方式
更新时间:2025年07月21日 14:21:11 作者:lfwh
本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考
一、linux批量替换文件内容
sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径`
例如:
将/var/www/test文件夹下的所有文件内容中的abc字符串换成123
sed -i "s/abc/123/g" `grep abc -rl /var/www/test`
注:
grep内容用的不是单引号",而是`,tab键上面的,请使用绝对路径
二、替换文件内所有匹配的字符串
sed -i "s/旧内容/新内容/g" 文件路径
例如:
将/var/www/test/index.html文件夹下的所有文件内容中的abc字符串换成123
sed -i "s/abc/123/g" /var/www/test/index.html
三、替换每一行中全部str1为str2
:%s/str1/str2/g
替换当前行全部str1为str2
:s/str1/str2/g
四、例
sed -i "s#'2022-08-01' and '2022-08-20'#'2022-07-01' and '2022-08-01'#g" `grep "'2022-08-01' and '2022-08-20'" -rl *.ktr` sed -i "s/<commit>999/<commit>11/g" `grep '<commit>999' -rl /data/sh/wlhy/ktr` sed -i "s#'2022-08-01' and '2022-08-20'#'2022-07-01' and '2022-08-01'#g" `grep "'2022-08-01' and '2022-08-20'" -rl *.ktr` sed -i "s/FROM t_wlhy_driver/FROM t_wlhy_driver WHERE (CREATE_DATE IS NOT NULL AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) \<\;= date(CREATE_DATE)) OR (UPDATE_DATE IS NOT NULL AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) \<\;= date(UPDATE_DATE))/g" `grep 'FROM t_wlhy_driver' -rl wlhy-t_wlhy_driver_*.ktr`
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
在CentOS / RHEL上设置 SSH 免密码登录的方法
本篇文章主要介绍了在CentOS / RHEL上设置 SSH 免密码登录的方法,自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。2017-03-03


最新评论