sed 常用命令

sed 
简介:非交谈式编辑器(vi和ex都属于交谈式编辑器)
采用非破坏性的编辑方式,也就是不会改变文件的内容,除非了使用输出转向,默认是所有的输出都

会显示在屏幕上。

$sed -v(--version)查看sed版本

格式:sed 'command' filename
地址处 可以是数字或规则表达式,也可是两者的混合,若未指定地址,sed会处理输入文件
的每一行;EX: $sed '1,3d' testfile --删除1-3行,并显示其他行
$sed -n '/[Jj]onsh/p' testfile --打印出有jonsh或Jonsh的行
$sed '/Tom/!d' testfile--删除所有不包含Tom 的行

command 选项有-e,-f,-n。-e是用来编辑几个文件;-f在sed命令文件前加上文件名;-n表示

略过输出

命令实例:(以datafile文件为例)

1)打印信息 p    $sed '/west/p' datafile  ---打印出所有信息,并把含有west的行打印两遍;

$sed -n '/west/p' datafile  ---只打印出含有west的行

2)删除 d          $sed '3d' datafile ---删除第三行并打印其他行;

$sed '4,$d' datafile  ---删除从第四行到文件末尾的所有行,剩下的行会被打印出来

3)替换命令 s  $sed 's/west/north/g' datafile --- 替换文件内所有的west 为north,

其中,g表示全局,若无g,则只替换每行的第一个。(与vim中:/s/***/***/g 相同);

** $sed 's/[0-9][0-9]$/&.5/' datafile --- &代表在查找字符串里确实被找到的东西。这句话的意思就是:每

一行结尾是两个数字的,都会被她自己替换,并且在后面附加0.5;

** $sed 's#3##88#g' datafile

4)逗号 $sed -n '/west/,/east/p' datafile ---含有west 和east 字符的两行

之间的所有行都会被打印出来(west 和east完全视那个先出现而定);

$sed -n '/west/,/east/s$/*LAT*/' datafile ---在west和east存在的所有行之间的结尾都加上 *LAT*

5)读取文件 r $sed '/susan/r newfile' datafile ---文件newfile的内容被读入文件datafile,插入到含有susan的行后面.
6)写入文件 w $sed -n '/north/w newfile' datafile ---取datafile中含有north的行,并写入到newfile文件中(若newfile中有信息,则会被覆盖)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值