linux三剑客-sed命令使用方法

一 . 三剑客命令sed概念说明

  官方概念说明:stream editor for filtering and transforming text(字符流过滤编辑和文本字符流转换工具)

  通俗概念说明:字符流编辑工具(行编辑工具)==按照每行默认处理每一行的字符信息(按照每行中的字符进行处理操作)

  相比较而言vim是全屏编辑工具

二 . 三剑客命令sed作用说明

  1.处理文件信息

    文本文件信息(小文件)

    日志文件信息(grep awk)

    配置文件信息(sed)

  2.处理文件方式

    01.增加信息(增)

    02.删除信息(删)

    03.修改信息(改)

    04.查看信息(查)

三 . 三剑客命令sed语法原理

  1.命令语法格式

    sed   [OPTION]...   {script-only-if-no-other-script}   [input-file]...
    命令  参数      sed指令(条件+处理)      处理文件信息

    sed  -n        ‘/oldboy/p‘          oldboy.txt

    对于sed指令来说,一般是由条件和处理指令构成

  2.命令执行过程

    linux三剑客-sed命令使用方法

 

 

      linux三剑客-sed命令使用方法

     linux三剑客-sed命令使用方法

      利用上述命令来对sed命令的执行过程进行文字描述:

      假如我们以查找oldboy为例来说,首先sed会将第一行信息放到模式空间(内存空间),然后判断第一行是否满足条件.即是否有oldboy字符信息,此时经判断满足条件,执行sed命令p处理,打印满足条件的一行(第一行),此时判断sed是否有-n参数若没有默认输出存在于模式空间的第一行,若有-n参数则不输出到屏幕,继续读取下一行,将下一行放到模式空间,判断是否满足条件,不满足则判断是否有-n参数.没有-n参数则默认输出到屏幕上,有-n则不输出.依次类推,直到匹配到最后一行.执行完成

      没有-n参数,对放到模式空间中的行默认都会输出.因为sed是按每行进行操作.所以没行都会显示

四 . 三剑客命令sed实践操作

  1.查询实践

    linux三剑客-sed命令使用方法

    01.按照文件内容的信息查询

      001.按照内容信息,输出单行内容

      linux三剑客-sed命令使用方法

      002.按照内容信息,输出多行内容(连续多行内容)

      linux三剑客-sed命令使用方法

      003.按照内容信息,输出多行内容(不连续多行内容) 

      linux三剑客-sed命令使用方法

    02.按照文件内容的行号查询

      001.根据行号信息,显示单行内容

      linux三剑客-sed命令使用方法

      002.根据行号信息.显示多行内容(连续)

      linux三剑客-sed命令使用方法

      003.根据行号信息,先睡多行内容(不连续)

      linux三剑客-sed命令使用方法

  2.增加实践

    01.按照行号增加

      001.在第n行行前添加信息

      linux三剑客-sed命令使用方法

 

 

       练习:在文件第一行添加信息100,oldgirl,CEO

      linux三剑客-sed命令使用方法

      002.在第n行行后添加信息

      linux三剑客-sed命令使用方法

 

 

       练习:在文件最后一行 添加信息106,olddog,UFO

      linux三剑客-sed命令使用方法

    02.按照信息增加

      1.在查找到的内容行行前行后添加信息:在有oldboy内容的行前面添加oldgirl 后面添加 olddog信息

      linux三剑客-sed命令使用方法

 

       2.文件中添加多行信息: sed ‘na/i xxxx\nxxxx\nxxxx‘

      linux三剑客-sed命令使用方法

 

       企业典型应用:编写配置文件

      sed ‘$aIPaddress=10.10.10.1\nmask=255.255.255.0\ngateway=10.10.10.254‘ 文件名称

  3.删除实践

    01.删除单行信息

    linux三剑客-sed命令使用方法

    02.删除多行信息(连续)

    linux三剑客-sed命令使用方法

    03.删除多行信息(不连续)

    linux三剑客-sed命令使用方法

    04.删除有oldboy信息的行

    linux三剑客-sed命令使用方法

    05.利用sed命令取消空行显示

      1.删除有空行的行      -i参数使改动永久保存在文件中

      linux三剑客-sed命令使用方法

 

       2.将空行打印出在利用!取反

      linux三剑客-sed命令使用方法

  4.替换实践

    1.文本替换:  sed ‘s/原有内容/修改后内容/g‘ person.txt

      linux三剑客-sed命令使用方法

    2.后项引用前项  sed -r ‘s/()/\n/g‘  person.txt

      利用sed 命令取出ip地址

      

      linux三剑客-sed命令使用方法

       练习sed中前项引用后项的用法 .找出10.0.0.255

      linux三剑客-sed命令使用方法

 

 

      

     

      

  5.扩展实践

五 . 三剑客命令sed课程总结

linux三剑客-sed命令使用方法

上一篇:vmware虚拟交换机二层详解


下一篇:Leetcode 5. 最长回文子串