Linux查找整个目录下包含关键词的文件并全局替换文件内容
Posted Genghai_Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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" ./ #只匹配以www为首的字符串,比如www.baidu.com。 grep -r "www/>" ./ #只匹配以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‘
以上是关于Linux查找整个目录下包含关键词的文件并全局替换文件内容的主要内容,如果未能解决你的问题,请参考以下文章