linux中的文本的批量替换

本文介绍如何使用Vim进行文件内的全局及局部搜索替换,并利用sed命令实现在单个文件或整个目录下的批量替换操作,提升文本处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1) 文件内全部替换:

 

:%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g,如果替换或被替换内容中有/(特别是路径),可用\/转义)

  --注:把abc替换成123

 

(或者: %s/str1/str2/g 用str2替换文件中所有的str1)

 

2) 文件内局部替换:

 

 :20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g)

  --注:把20行到30行内abc替换成123

 

3)文件夹下全部替换:

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`,注意别漏了两个`

例如:替换/home下所有文件中的www.admin99.net为admin99.net
          sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`

          加grep是为了提高效率,只有存在www.admin99.net的才执行替换

          如果只替换单个文件,可以直接用下面的命令

          sed -i "s/garden/mirGarden/g" 1.txt

          将文件1.txt内的文字“garden”替换成“mirGarden”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值