良许Linux教程网 干货合集 Linux下文件内容查找和替换

Linux下文件内容查找和替换

Linux下如何进行文件内容查找和替换?Linux 系统中经常会遇到批量替换文件内容的情况,本篇文章为大家分享一下Linux下文件内容查找和替换的几种方法,有需要的小伙伴可以参考一下。

Linux下文件内容查找和替换

1、通过vim编辑器来替换

 vi/vim 中可以使用 :s 命令来替换字符串。
 
 :s/well/good/ 替换当前行第一个 well 为 good
 
 :s/well/good/g 替换当前行所有 well 为 good
 
 :n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
 
 :n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good n 为数字,若 n 为 .,表示从当前行开始到最后一行
 
 :%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
 
 :%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
 
 :s#well/#good/# 替换当前行第一个 well/ 为 good/
 
 :%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
 1234567891011121314151617

2、sed和grep配合

 sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`
 
 作用:将当前目录(包括子目录)中所有txt文件中的yyyy字符串替换为xxxx字符串。其中,
 
 -i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件。
 
 s/yyyy/xxxx/表示查找yyyy并替换为xxxx,后面跟g表示一行中有多个yyyy的时候,都替换,而不是仅替换第一个
 
 另外,如果不需要查找子目录,仅需要在当前目录替换,用sed命令就行了,命令如下:sed -i s/xxxx/yyyy/g ./*.txt
 123456789

3.find命令查找和替换

 find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'          #查找替换当前目录下包含字符串并进行替换
 
 find -name '*.txt' | xargs perl -pi -e 's|被替换内容|替换内容|g'             #递归查找替换
 
 find . -type f -name '*.html' | xargs perl -pi -e 's|被替换内容|替换内容|g'

总结

至此关于Linux下文件内容查找和替换的教程分享结束,大家如果还有问题可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部