您的当前位置:首页正文

Linux查找整个目录下包含关键词的文件并全局替换文件内容

2024-08-16 来源:易榕旅网
Linux查找整个⽬录下包含关键词的⽂件并全局替换⽂件内容

⼀、查找⽬录下包含关键词的⽂件:

grep -r \"www\" ./ #查找当前⽬录下包含www的⽂件名称及内容

参数:

-i 不区分⼤⼩写。 ⽐如:

grep -ri \"www\" ./ #查找当前⽬录下包含www和WWW的⽂件名称及内容。-l 只列出⽂件的名称。 ⽐如:

grep -ri \"www\" ./ #查找当前⽬录下包含www和WWW的⽂件名称。-L 只列出不匹配条件的⽂件的名称。 ⽐如:

grep -rLi \"www\" ./ #查找当前⽬录下不包含www和WWW的⽂件名称。-w 只匹配单个单词,⽽不是整个字符串或句⼦。 ⽐如:

grep -rw \"test\" ./ #会匹配到包含test单词的,不会匹配到包含testwww的内容。

当然,也可以使⽤通配符 \" * \" 和开始 \" /< \" 结束 \" /> \" 标识符。

grep -r \"www*\" ./ #通配符*在这⾥的作⽤不⼤,因为默认的就是匹配所有包含关键词的内容。grep -r \"/\" ./ #只匹配以www结尾的字符串,⽐如testwww。

⼆、全局替换⽂件内容

  这⾥需要⽤到linux的命令sed:  

#替换单个⽂件下的内容,⽐如将⽂件中的\"alidata\"替换为\"data\".sed -i \"s/alidata/data/g\" test.txt

#替换某个⽬录下所有⽂件中的内容,⽐如将root⽬录下所有⽂件中的\"wwwroot\"替换为\"www\".sed -i \"s/wwwroot/www/g\" 'grep -rl wwwroot /root'

因篇幅问题不能全部显示,请点此查看更多更全内容