zoukankan      html  css  js  c++  java
  • Sed 实记 · laoless's Blog

    sed

    sed编辑命令

    p 打印匹配行
    = 打印文件行号
    a 在定位行之后追加文本
    i 在定位行之前插入文本
    d 删除定位行
    c 用新文本替换定位文本
    s 使用替换模式替换相应模式
    r 从另一个文件读取文本
    w 将文本写入到一个文件
    y 变换字符,类似替换
    q 第一个模式匹配完成后退出
    l 显示与八进制ASCII码等价的控制字符
    {} 在定位行执行的命令组
    n 读取下一个输入行,用下一个命令处理新的行
    h 将模式缓冲区的文本复制到保持缓冲区
    H 将模式缓冲区的文本追加到保持缓冲区
    x 互换模式缓冲区和保持缓冲区的内容
    g 将保持缓冲区的内容复制到模式缓冲区
    G 将保持缓冲区你内容追加到模式缓冲区
    g 替换文本全部
    p 与n选项结合只打印替换行
    w 文件名 输出定向到一个文件

    Eg:

    • -n打印文件第一行(不加选项,还会打印全部内容)

      1
      2
      sed -n '1p' input
      sed -n '1,3p' input
    • ’=‘只打印对应内容的行号

      1
      sed -n '/string/=' input
    • -e 打印查询字符并显示行号

      1
      sed -e '/string/=' -e '/string/p' input

      等价于sed ‘/string/{=;p}’ input`

    • a在指定内容后追加

      1
      sed '/string/aappend a new line.' input
    • 在文件最后一行追加

      1
      大专栏  Sed 实记 · laoless's Blog"code">
      sed '$'astring input
    • 替换文本

      1
      2
      3
      sed -n '/string/cint' input
      sed -n 's/string/int/2g' input
      sed -n '/string/s#string#int#g' #替换所有匹配到的字符串

      错误用法(-ni选项不能连用)

      1
      2
      sed -ni '/string/cint/p' php.ini
      sed -ni 's/string/int/p' php.ini
    • 删除最后一行和最后一行

      1
      sed -e '$'d  -e '1'd input
    • 只打印替换行

      1
      sed -n 's/string/int/p' input
    • 分别替换第n次匹配

      1
      sed -n 's/string/np' input
    • 显示控制字符(ASCII)

      1
      sed -n '1,$'l input
    • 处理匹配行的下一行

      1
      sed '/string/{n;s/cf/lol/;} input
    • 在指定字符串后/前添加内容

      1
      2
      sed -i 's/index.html/& index.php /' httpd.conf
      sed -i 's/index.html/index.php &/' httpd.conf

      &就代表着指定的字符串位置

  • 相关阅读:
    1. Change the emulator screen size
    Dynamic Programming for TSP
    框架的概念及用反射技术开发框架的原理
    【PHP 】 伪静态
    【PHP 】伪静态
    框架-Java:Spring MVC
    开源-解决方案-实时数据追踪:Zipkin 介绍
    报表-类型:瀑布图
    报表:目录
    软件-开发软件-Java-Eclipse:百科
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12268148.html
Copyright © 2011-2022 走看看