LINUX命令文本处理——sed

sed命令的功能是处理文本字符。这里以文件/etc/passwd为例进行实例演示,具体功能如下:

1 显示某行的字符
显示第3行的字符内容,command:

nl /etc/passwd|sed -n '3p'

result:

 3  bin:x:2:2:bin:/bin:/usr/sbin/nologin

打印命令如果不加参数-n,则会打印所有行。


2 添加字符

在文件第2行后面添加字符,command:

 nl /etc/passwd|sed  '2a wp'

result:

     1  root:x:0:0:root:/root:/bin/bash
     2  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
wp
     3  bin:x:2:2:bin:/bin:/usr/sbin/nologin
     4  sys:x:3:3:sys:/dev:/usr/sbin/nologin
     5  sync:x:4:65534:sync:/bin:/bin/sync
     6  games:x:5:60:games:/usr/games:/usr/sbin/nologin
     7  man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
     8  lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
     9  mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    10  news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

3 删除字符

删除文件第3行,command:

 nl /etc/passwd|sed  '3d'

result:

     1  root:x:0:0:root:/root:/bin/bash
     2  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
     4  sys:x:3:3:sys:/dev:/usr/sbin/nologin
     5  sync:x:4:65534:sync:/bin:/bin/sync
     6  games:x:5:60:games:/usr/games:/usr/sbin/nologin
     7  man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
     8  lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
     9  mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    10  news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

删除文件第3行到最后行的内容,command:

 nl /etc/passwd|sed  '3,$d'

result:

     1  root:x:0:0:root:/root:/bin/bash
     2  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

4 替换相应行

将第2行的内容替换为某字符:

nl /etc/passwd|sed '2c wp'

result:

     1  root:x:0:0:root:/root:/bin/bash
wp
     3  bin:x:2:2:bin:/bin:/usr/sbin/nologin
     4  sys:x:3:3:sys:/dev:/usr/sbin/nologin
     5  sync:x:4:65534:sync:/bin:/bin/sync
     6  games:x:5:60:games:/usr/games:/usr/sbin/nologin
     7  man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
     8  lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
     9  mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    10  news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

5 查找匹配字符的行|打印显示

显示含有root的行,command:

nl /etc/passwd|sed -n '/root/p'

result:

1  root:x:0:0:root:/root:/bin/bash

如果不用参数-n,则会先打印第一行,然后打印所有行。


6 替换字符

将字符bash替换为bashshell,command:

 nl /etc/passwd|sed 's/root/ROOT/g'|sed '/ROOT/p' -n

result:

1  ROOT:x:0:0:ROOT:/ROOT:/bin/bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值