2016-3-8 linux基础学习——sed命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016-3-8 linux基础学习——sed命令相关的知识,希望对你有一定的参考价值。

sed(Stream EDitor)行编辑器(全屏编辑器:vi)
    
    sed:显示模式空间
    默认不编辑文件,仅对模式空间中的数据做处理
    而后,处理结束后,将模式显示在屏幕上
    
    sed -n ‘AddressCommand‘ file ...
        单/双引号都可以,双引号可实现变量替换
        -n:静默模式 不再默认显示模式空间中的内容
        -i:直接修改源文件
        -e SCRIPT -e SCRIPT:可以同时执行多个脚本
        -f /PATH/TO/SED_SCRIPT/:
            sed -f path/to/script file
        -r:表示使用扩展正则表达式
    
    Address:地址
    1.起始行,结束行
        比如1,100
        $:最后一行
        $-1 :倒数第一行
    2./RegExp/利用模式匹配,需要两个斜杠包括起来
        比如/^root
    3./pattrnl/,/pattern2/
     第一次被pattrn1匹配到的行开始,到第一次被pattrn2匹配到的行结束,这中间的所有行
    4.LineNumber
        指定的行
    5.起始行,+N
        从起始行开始,向后的N行
    
    
    Command:命令
        d:删除符合条件的行
        p:显示符合条件的行
        a \string: 在指定的行后面追加新行,内容为string
        i \string: 在指定的行前面追加新行,内容为string
        r FILE:将指定的文件内容添加至符合条件的行处
        w FILE:将指定的文件内容另存至指定文件中
        s /pattern/string/修饰符:查找pattern(可用正则表达式)并替换成string
            (默认只替换每行中第一次被模式匹配到的字符串)    
            g:全局替换
            i:查找时忽略大小写
        s///:s###,[email protected]@@也可
            分隔符不仅限于/ 只要查找替换的字符不是分隔符
        &:引用模式匹配整个串

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

    课练1:编辑一个txt文件
        ①like-liker    love-lover    
        ②like->Like    love->Love
    课练2:删除/etc/grub.conf文件中行首的空白符
    课练3:替换/etc/inittab文件中“id:5:initdefault:”一行中的数字为3
    课练4:删除某文件中的空白行
    课练5:删除某文件中开头的#号.(eg:#abc)
    课练6:删除某文件开头的#号及后面的空白字符,但要求#后面必须有空白字符.(# abc)
    课练7:删除某文件以空白字符后面跟#类的行中的开头的空白字符及#.( #abc)
    课练8:取出一个文件路径的父目录名称

技术分享

技术分享

技术分享

技术分享

技术分享


本文出自 “11160930” 博客,请务必保留此出处http://11170930.blog.51cto.com/11160930/1748900

以上是关于2016-3-8 linux基础学习——sed命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux shell编程命令-Linux基础环境命令学习笔记

Linux学习011sed命令详解

Linux安全基础:sed命令的使用

linux零基础学习之Linux sed 命令常用操作详解

linux shell基础sed命令(编辑中)

Linux学习笔记2(sed命令)