zoukankan      html  css  js  c++  java
  • sed `grep` 查找并替换

    sed "s/libletvwatermark/libletv_watermark/" `grep -rl libletvwatermark`

    grep [options]

    3.主要参数
    [options]主要参数:
    -c:只输出匹配行的计数。
    -I:不区分大 小写(只适用于单字符)。
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及 行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。

    sed替换的基本语法为:

    复制代码
    代码如下:
    sed 's/原字符串/替换字符串/'


    单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线””进行转义,但是单引号”‘”是没有办法用反斜线””转义的,这时候只要把命令中的单引号改为双引号就行了,例如:

    复制代码
    代码如下:
    sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号


    命令中的三根斜线分隔符可以换成别的符号,这在要替换的内容有较多斜线是较为方便,只需要紧跟s定义即可,例如换成问号”?”:

    复制代码
    代码如下:
    sed 's?原字符串?替换字符串?' //自定义分隔符为问号


    可以在末尾加g替换每一个匹配的关键字,否则只替换每行的第一个,例如:

    复制代码
    代码如下:
    sed 's/原字符串/替换字符串/' //替换所有匹配关键字


    上箭头”^”表示行首,美元”$”符号如果在引号中表示行尾,但是在引号外却表示末行(最后一行),这里犯二了,搜了半天哪个符号表示首行,半天才想起来,首行就是数字”1″啊.那么在行首和行尾添加字符串就是把行尾和行首替换,例如:

    复制代码
    代码如下:
    sed 's/^/添加的头部&/g' //在所有行首添加
    sed 's/$/&添加的尾部/g' //在所有行末添加
    sed '2s/原字符串/替换字符串/g' //替换第2行
    sed '$s/原字符串/替换字符串/g' //替换最后一行
    sed '2,5s/原字符串/替换字符串/g' //替换2到5行
    sed '2,$s/原字符串/替换字符串/g' //替换2到最后一行


    替换样式可以多个在同一条命令中执行,用分号”;”分隔,例如:

    复制代码
    代码如下:
    sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' //同时执行两个替换规则


    sed处理过的输出是直接输出到屏幕上的,要保存可以将输出重定向,或者使用参数”i”直接在文件中替换:

    复制代码
    代码如下:
    sed -i 's/原字符串/替换字符串/g' filename //替换文件中的所有匹配项
  • 相关阅读:
    CodeForces 681D Gifts by the List (树上DFS)
    UVa 12342 Tax Calculator (水题,纳税)
    CodeForces 681C Heap Operations (模拟题,优先队列)
    CodeForces 682C Alyona and the Tree (树上DFS)
    CodeForces 682B Alyona and Mex (题意水题)
    CodeForces 682A Alyona and Numbers (水题,数学)
    Virtualizing memory type
    页面跳转
    PHP Misc. 函数
    PHP 5 Math 函数
  • 原文地址:https://www.cnblogs.com/zl1991/p/7122119.html
Copyright © 2011-2022 走看看