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

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

  • 相关阅读:
    java strtus2 拦截器(Interceptors)
    java ssm框架入门(三)正式项目的web.xml配置
    java Web监听器导图详解
    java web hello world(二)基于Servlet理解监听
    java ssm框架入门(二)添加语言滤器
    java web 自定义filter
    Java内存分配全面浅析
    Velocity !$ 和$!区别
    spring ioc原理(看完后大家可以自己写一个spring)
    Spring的AOP简单理解
  • 原文地址:https://www.cnblogs.com/nickqian/p/3764010.html
Copyright © 2011-2022 走看看