sed 命令总结

时间:2023-03-09 15:03:46
sed 命令总结

sed是Stream Editor的缩写,是操作、过滤、转换文本内容的强大工具,对文件实现增删改查

主要参数

  1. -n 取消默认输出
  2. -i 修改保存文件
内置命令字符
a,append追加
d,delete,删除
i,insert,插入一行或者多行文本
p,print,打印输出
s#/regexp#replace 正则匹配输出
实例:
.追加文本
[root@t1 ~] #cat >persons.txt << EOF
> ,oldboy,CEO
> ,zhangyao,CEO
> ,Alex,COO
> ,yy,CFO
> ,feixue,CIO
> EOF
[root@t1 ~] #
[root@t1 ~] #
[root@t1 ~] #
[root@t1 ~] #sed '2a 106,heqiuyu' persons.txt
,oldboy,CEO
,zhangyao,CEO
,heqiuyu
,Alex,COO
,yy,CFO
,feixue,CIO .行前查入
[root@t1 ~] #sed '2a 106,heqiuyu' persons.txt
,oldboy,CEO
,zhangyao,CEO
,heqiuyu
,Alex,COO
,yy,CFO
,feixue,CIO
[root@t1 ~] #sed '2i,qiuyu' persons.txt
,oldboy,CEO
,qiuyu
,zhangyao,CEO
,Alex,COO
,yy,CFO
,feixue,CIO .删除一样指定文本
[root@t1 ~] #sed '2i,qiuyu' persons.txt
,oldboy,CEO
,qiuyu
,zhangyao,CEO
,Alex,COO
,yy,CFO
,feixue,CIO
[root@t1 ~] #sed '2d' persons.txt
,oldboy,CEO
,Alex,COO
,yy,CFO
,feixue,CIO .删除2-3行
[root@t1 ~] #sed '2d' persons.txt
,oldboy,CEO
,Alex,COO
,yy,CFO
,feixue,CIO
[root@t1 ~] #sed '2,3d' persons.txt
,oldboy,CEO
,yy,CFO
,feixue,CIO
[root@t1 ~] # .替换文本内容
[root@t1 ~] #sed 's#yy#heqiuyu#g' persons.txt
,oldboy,CEO
,zhangyao,CEO
,Alex,COO
,heqiuyu,CFO
,feixue,CIO .打印文件指定行
[root@t1 ~] #sed '1p' persons.txt
,oldboy,CEO
,oldboy,CEO
,zhangyao,CEO
,Alex,COO
,yy,CFO
,feixue,CIO
[root@t1 ~] #sed '1p' persons.txt -n
,oldboy,CEO
[root@t1 ~] # .追加多行
[root@t1 ~] #cat persons.txt
,oldboy,CEO
,zhangyao,CEO
,Alex,COO
,yy,CFO
,feixue,CIO
[root@t1 ~] #sed '2a 11\n22\n33' persons.txt
,oldboy,CEO
,zhangyao,CEO ,Alex,COO
,yy,CFO
,feixue,CIO