sed

来源:互联网 发布:java手机验证码怎么做 编辑:程序博客网 时间:2024/06/01 09:19

9.4sed(上)

  • sed可以实现查找并替换,vim操作文档的时候,可以查找也可以替换,但只限于文本内部操作,不能输出到屏幕上。使用sed工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能。
  • 打印包含某个字符串的行
    格式: sed ‘/word/’p filename 其中Word为要匹配的字符串这里写图片描述这里会将匹配的字符串那行打印2次,并显示其他所有不相关的行 。
    如只想打印出匹配的字符串的要求的行 ,可以加-n选项。
    这里写图片描述
  • 同是也是支持( . )
    这里写图片描述

  • 也支持( * )
    这里写图片描述

  • 支持(+)但是需要转义符号\
    这里写图片描述
    或者不使用转义字符 而是加上-r选项
    这里写图片描述

  • 匹配某个字符n次
    这里写图片描述

  • 同样支持或 (|)
    这里写图片描述

    - 打印某行或者指定的行数
    sed -n ‘n’p filename 其中‘n’n为数字,即需要的哪行。‘n,n’为指定的范围,即多少行到多少行
    这里写图片描述
    ‘n,$’表示某行到最后一行
    这里写图片描述

  • -e选项可以使在同一表达式里面做多个操作
    后面需要加上-n选项才不会报错
    这里写图片描述 表示打印该文件的第3行并匹配带有bash字符的行

  • 当需要打印某行,并匹配某字符时,如果2个条件都满足,那么会打印该行2次,一次为指定需要打印的某行,一次为匹配到某字符的某行

9.5 sed(下)

  • 在sed中同样是区分大小写的,如果匹配的字符为小写,那打印出来的里面就不会包含大写的字符。可以通过大写的i来实现大小写同时打印。
    这里写图片描述

  • 删除某些行
    sed ‘n,n’d filename 其中n,n表示指定要删除的多少行到多少行
    这里写图片描述
    仅仅是在屏幕当中把剩下的行列出来,选定的范围不列出来,并没有删除文件。

  • 要删除文件 可以使用-i选项 会直接更改文件内容
    这里写图片描述

  • 针对性删除某些相关的行
    sed -i ‘/指定的字符/’d filename
    这里写图片描述

  • 替换字符或者字符串
    这里写图片描述参数s就是替换的动作,参数g表示本行全局替换。不加g则只替换本行出现的第一个。

    除了使用/作为分隔符号,也可以使用#或者@

  • 要替换的字符串可以使用正则表达式的,但是要加-r选项
    这里写图片描述

  • 调换2个字符串的位置
    这里写图片描述
    在sed中 要想使用小括号,必须加上-r选项,否则必须使用转义字符
    ([^:]+)表示第一段
    (.*) 表示匹配到最后一个:
    ([^:]+)表示第3段
    使用小括号可以方便后面调用

  • 删除文档中所有的英文字符
    这里写图片描述
    这里删除就可以替换为空

  • 所有行前面添加字符串
    这里写图片描述

    小括号括起来表示一整行
    &表示前面的小括号

原创粉丝点击