• 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'
  • 相关阅读:
    Outlook同步问题
    Excel下三角图解的绘制
    数据库,SQL,万恶之源?
    新年第一篇
    ArcGIS的GeoProcessing的原理及实现(1)
    如何在多个文件中查找需要的信息
    关于GIS门户(GIS Portal)的概念
    2004总结
    MapViewControl更新
    GCDPlot 0.22 介绍
  • 原文地址:https://www.cnblogs.com/yuanwanli/p/12833821.html
Copyright © 2020-2023  润新知