关于sed的使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于sed的使用方法相关的知识,希望对你有一定的参考价值。

    sed是linux命令三剑客之一,是stream editor的缩写,含义是流编辑器的缩写。

    它擅长取行,替换,过滤。这个和awk有点类似,但是awk是取列,但是sed是取行。

    用法:sed -n ‘/过滤的内容/处理的命令/‘  文件名

    -n 是取消sed的默认输出。

    -p 是打印的意思。

    -i 改变文件的内容。

    -r 果不用r参数就要在正则表达式里使用很多的\来进行强制转换,如果使用r了就可以直接写正则表达式,而不用写那么多\了

    = 可以代表行号。


    sed替换,应用很广泛。

    s是指常用的查找并替换,用一个字符串替换成另一个。

    g是与s联合起来使用,表示对当前行全局匹配替换(与下一个g意义不同),如果不加上g就只是替换第一列,不会全局替换。

    #是分隔符,可以用其他符号替换。

    -i 是替换并修改。  

    格式为:sed ‘s###g’

    例子:sed ‘s#oldboy#oldgirl#g‘ test.txt 但是仅仅修改的是输出的内容,文件实体没有做修改。

          sed -i ‘s#oldboy#oldgirl#g‘ test.txt 加上-i就可以改变内容了

          find /root/data/ -type f -name "test.txt"|xargs sed ‘s#oldboy#oldgirl#g‘ 这个例子就是用find和sed替换结合起来一起用的范例,

          使用sed命令来取出ifconfig内的ip地址:

          ifconfig eth0|sed -nr ‘s#^.*addr:(.*)  B.*$#\1#gp‘


以上是关于关于sed的使用方法的主要内容,如果未能解决你的问题,请参考以下文章

Linux 学习总结(89)—— sed 入门详解

Linux 学习总结(89)—— sed 入门详解

Linux 学习总结(89)—— sed 入门详解

关于linux中sed命令的简单用法

linux中行编辑器sed的基本用法

Linux基本命令之sed