Linux sed工具详解

作者 : 开心源码 本文共1083个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共77人阅读

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-5行

function带的参数:

a:向下新添加,后面可以接字符串,字符串会出现在这行下面。sed -e '1,5a das' /etc/passwd,表示分别在1-5行每一行下面新添加字符串”das”

i;向上新添加,后面可以接字符串,字符串会出现在这行上面。

d:删除,后面不必接字符串;

c:替代,整行替代。

下面会详情指定字符串替代,格式为:sed 's/要被替代的字符串/新的字符串/g'

p:打印

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

给几个例子:

  • 打印/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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 把上面输出的第一行中的”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

Linux sed工具详解

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Linux sed工具详解

发表回复