zoukankan      html  css  js  c++  java
  • sed学习笔记

    ---恢复内容开始---

    sed是一种流处理工具,通过匹配模式按行读取文件中的内容到内存的模式空间内,而后再根据command做处理。

    格式:

    sed [options] 'addresscommand' file..

      -n :静默模式,不再默认显示模式空间中的内容

      -i:修改源文件

      -e SCRIPT -e SCRIPT:可以同时执行多个脚本

      -f /PATH/TO/SED_SCRIPT

      -r:表示使用扩展正则表达式

    Address:

      1.StartLine,EndLine

        比如1,100

      2./RegExp/

        /^root/

      3./pattern1/,/pattern2/

      从第一次被pattern1匹配的行-->第一次被pattern2匹配的行中间的所有行

      4.LineNumber

        指定的行

      5.StartLine, +N

        从StartLine开始,向后的N行

    Command:

      d:删除否和条件的行;

      p:显示符合条件的行;

      a string:在指定行后追加新行,内容为string

        -n 可用于换行

      i  string:在指定行前追加新行,内容为string

      r File:将指定文件的内容添加至符合条件的行处

      w File:将指定范围内的内容另存至指定 的文件中

      s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配搭配的字符串

        加修饰符

        g:全局替换

        i:忽略字符大小写

      s/ / / : s### , s@@@

        ( ) , 1 , 2

       &:引用模式匹配的整个串

    几个练习题:

    1、删除/etc/gurb.conf文件中行首的空白符

    解:sed  's/^[[:space:]]*//g' /etc/grub.conf

    2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5

    解:sed 's/id:3/id:5/' /etc/inittab

    3、删除/etc/inittab文件中的空白行

    解:sed '/^$/d' /etc/inittab

    4、删除/etc/inittab文件中开头的#号

    解:sed 's/^#//g' /etc/inittab

    ---恢复内容结束---

  • 相关阅读:
    MySQL锁之三:MySQL的共享锁与排它锁编码演示
    服务链路追踪(Spring Cloud Sleuth)
    服务网关zuul之四:zuul网关配置
    hdu 1505 City Game (hdu1506加强版)
    PHP设计模式——訪问者模式
    极客互联网电视不是噱头,用户体验成创维G7200核心竞争力
    深入理解JavaScript系列(23):JavaScript与DOM(上)——也适用于新手
    使用php分页类实现简单分类
    管理之路(四)
    poj 2485 Highways (最小生成树)
  • 原文地址:https://www.cnblogs.com/nickqian/p/3764010.html
Copyright © 2011-2022 走看看