Linux sed工具详解

sed本身是一个管线命令,可以分析standard input,并且sed可以将数据进行取代,新增,删除,截取等功能,一般是用来对某些确定的行进行操作

sed [-nefri] 动作
选项与参数:
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(戒者劢作)才会被列出来。
-e :直接在指令列模式上进行 sed 癿动作编辑;
-f :直接将 sed 癿动作写在一个档案内, -f filename 则可以执行 filename 内
的sed 劢作;
-r :sed 的动作支持的是延伸型正则表示法的语法。(预设是基础型正则表示法)
-i :直接修改读取得档案内容,而不是由屏幕输出。

动作:[n1],[n2]function
代表的是在n1-n2行之间进行function操作。n2可以由'$'代替,表示从n1到结束。
比如:sed -e '1,5d' /etc/passwd表示删除输出的第1-5function带的参数:
a:向下新增,后面可以接字符串,字符串会出现在这行下面。sed -e '1,5a das' /etc/passwd,表示分别在1-5行每一行下面新增字符串"das"
i;向上新增,后面可以接字符串,字符串会出现在这行上面。
d:删除,后面不必接字符串;
c:替代,整行替代。
    下面会介绍指定字符串替代,格式为:sed 's/要被替代的字符串/新的字符串/g'
p:打印

给几个例子:

  • 打印/etc/passwd并,在第2行后面新增”ni hao a”
[ls@localhost ls]$ nl /etc/passwd|sed -e "2a ni hao a"
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
ni hao a
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
  • 把上面输出的第一行中的”root”替代为”hahha”
[ls@localhost ls]$ nl /etc/passwd|sed -ne "1p"
     1  root:x:0:0:root:/root:/bin/bash
[ls@localhost ls]$ nl /etc/passwd|sed -ne "1p"|sed "s/root/hahha/g"
     1  hahha:x:0:0:hahha:/hahha:/bin/bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值