sed基础语法

sed 太强大了

参考博客如下:https://www.cnblogs.com/ctaixw/p/5860221.html

sed:

Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。

能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。

还可以对原文件改动,但是不会再屏幕上返回结果。

sed命令的语法格式:

sed的命令格式: sed [option] 'sed command' filename

sed的脚本格式:sed [option] -f  'sed script' filename

【option】

-n :只打印模式匹配的行

-e :直接在命令行模式上进行sed动作编辑,此为默认选项

-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作

-r :支持扩展表达式

-i :直接修改文件内容

【sed command】

sed [-nefr] [n1,n2]

sed [-nefri] ‘command’ 输入文本 '
command'有:
//a :append,追加新行
//c :cover,覆盖指定的行
//d :delete,删除区间行
//i  :insert,在指定行前面插入一行,同a相反
//p :print,和-n配合
//s  :substitute,取代
追加 a
$>sed '1ahelloworld' test.txt
$>sed '1a helloworld' test.txt         //空格
$>sed '1a\thelloworld' test.txt     //制表符
$>sed '1,3ahow' test.txt
删除 d
$>sed '1d' test.txt    //删除第一行
$>sed '$d' test.txt    //删除最后行
$>sed '1,$d' test.txt    //删除第一行到最后一行
$>sed '1,3d' test.txt    //删除第1,2,3行
覆盖 cover
$>sed '1,2chelloworld' test.txt//前两行替换
显示  p   print
$>sed '1p' test.txt    //显示第一行
$>sed '$p' test.txt    //显示最后行
$>sed '1,$p' test.txt    //
$>sed -n '1,$p' test.txt/ /n安静模式,只显式处理的行
$>sed '/main/p' test.txt//显示有main的行
插入 i
$>sed '1ihelloworld' test.txt
$>sed '1i helloworld' test.txt//空格
$>sed '1i\thelloworld' test.txt//制表符
$>sed '1,3ihow' test.txt
替换  s          --------Substitute
$>sed 's/a/b/g' test.txt//用b替换a
$>sed ‘s@/a@b@g’ test.txt   //用b替换/a
注意:两个 /  之间是正则表达式。用于定位含有特定内容的行,有/的特殊字符,替换符/变为@。
原文地址:https://www.cnblogs.com/wqbin/p/10887909.html