Linux文本处理命令“sed”简解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文本处理命令“sed”简解相关的知识,希望对你有一定的参考价值。

文本处理编辑命令sed


命令格式:

    sed [选项] ‘(截取的行)[动作]‘ 文件名


 选项:-n:只把经过sed处理的行输出

     -e:允许输入多条动作

    -i:sed修改的结果写入文件

 

 截取行:(1)直接输入行号

     (2)/正则表达式/

     (3)x,y 从x到y行,也可以用正则取代

     (4)x,y! 取反

     (5)x~y 从x行开始,步进y行

     (6)$ 文档末

 

 动作:p  打印   eg: sed -n ‘(行)p‘ student.txt

    a  行后增加新的一行,i  行前增加新的一行

        sed  ‘1,5a  =============‘  student.txt

        sed  ‘/正则/a ============‘ student.txt

    d  删除某行

        sed  ‘/正则/d‘  student.txt

        sed  ‘4d‘  student.txt

    c  替换指定行    

        sed ‘2c canglaoshi bujigee‘ student.txt

        sed ‘/正则/c lalalalalalala‘ student.txt

    s  替换指定字符串(替换每行第一个);结尾g表示每一行所有

        sed  ‘/正则(定位行)/s/正则(旧)/abcd(新)/‘ student.txt

        sed  ‘s/正则(旧)/abcd(新)/‘ student.txt (全文替换)

        sed  ‘/www/s/33/000/g‘ zz_test.txt


 操作:{}多个命令组合,用;分开

        sed  ‘{1,20p;s/www/s/33/000//g}‘

    &  取原字符

        sed  ‘s/abc/&def‘ student.txt (把abc换成abcdef)

    u  字符串首字母改成大写

        sed  ‘s/abc/\u&/‘ student.txt (把abc改成Abc)

    l  字符串首字母改成小写

    U 字符串所有字母改成大写

        sed  ‘s/abc/\U&/‘ student.txt (把abc改成ABC)

    L  字符串所有字母改成小写

    r 将某文件插入到另一文件的指定行中

        sed  ‘1r abc.txt‘  123.txt (将abc.txt中的内容插入到123.txt文件的第1行)

    q  退出sed

        sed  ‘/false/q‘  student.txt (找到一个false就退出sed)


本文出自 “sevenot” 博客,转载请与作者联系!

以上是关于Linux文本处理命令“sed”简解的主要内容,如果未能解决你的问题,请参考以下文章

linux文本三剑客之sed命令详解

Linux运维文本处理三剑客之sed命令

Linux学习42 必备技能-文本处理神器sed命令应用与实战

Linux文本处理sed命令高级用法

Linux文本处理三剑客之sed

Linux bash 文本处理命令awk,sed,grep 用法