sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法:
sed [-nefri] ‘command’ 输入文本
//-n:使用安静(silent)模式。
//-e:直接在指令列模式上进行 sed 的动作编辑;
//-f:写在一个档案内
//-r:
//-i:直接修改读取的档案内容,而不是由屏幕输出。
'command'有:
//a :append,追加新行
//c :cover,覆盖指定的行
//d :delete,删除区间行
//i :insert,在指定行前面插入一行,同a相反
//p :print,和-n配合
//s :substitute,取代
删除
$>sed '1d' test.txt //删除第一行
$>sed '$d' test.txt //删除最后行
$>sed '1,$d' test.txt //删除第一行到最后一行
$>sed '1,3d' test.txt //删除第1,2,3行
显示
$>sed '1p' test.txt //显示第一行
$>sed '$p' test.txt //显示最后行
$>sed '1,$p' test.txt //
$>sed -n '1,$p' test.txt//n安静模式,只显式处理的行
$>sed '/te/p' test.txt//显示有te的行
追加
$>sed '1ahelloworld' test.txt
$>sed '1a\ helloworld' test.txt //空格
$>sed '1a\\thelloworld' test.txt//制表符
$>sed '1,3ahow' test.txt
插入
$>sed '1ihelloworld' test.txt
$>sed '1i\ helloworld' test.txt//空格
$>sed '1i\\thelloworld' test.txt//制表符
$>sed '1,3ihow' test.txt
cover
$>sed '1,2chelloworld' test.txt//前两行替换
替换
$>sed 's/a/b/g' test.txt//用b替换a 注意:两个//之间是正则表达式。用于定位含有特定内容的行。