Linux之sed

sed可以分析stdin的数据,然后将数据经过处理输出到strout中。它可以对数据进行添加、替换、插入、删除、打印。下面我们就来看看它的用法

# sed [-nefr] [动作]

  • -n :被sed处理过的数据才显示。一般会跟动作p联合使用;
  • -e :直接在指令列模式上进行sed的动作编辑;
  • -f : 制定文件从中读取数据对其处理;
  • -r :sed支持的延伸型正则表达式语法,跟egrep支持正则同理;

这里额外的说下,延伸型正则所支持的特殊符号为:

  • +
  • ?
  • |
  • ()

其作用意思就不多说了,学过正则的都知道。。。。


sed其动作:

  • a :追加
  • c :替换行
  • d :删除
  • i :插入
  • p :打印
  • s :替换字符


范例一:显示/etc/passwd内容,并将2至5行删除

# nl /etc/passwd | sed '2,5d'

范例二:显示/etc/passwd内容,并在第2行追加新内容“Hello world”

# nl /etc/passwd | sed '2a Hello world'

范例三:显示/etc/passwd内容,并在第2行行首插入“Hello world”

# nl /etc/passwd | sed '2i Hello world'

范例四:显示/etc/passwd,并将2至5行的内容 替换为“Hello world”

# nl /etc/passwd | sed '2,5c Hello world'
在这里需要注意的是,c与s都是替换,但c是替换整个行,而s是替换字符串已正则的方式。


范例五:仅显示/etc/passwd的2至5行内容

# nl /etc/passwd | sed -n '2,5p'
在这里就体现出n的作用了,你可以将n参数去掉试试看,就可明白其意思。


范例六:仅显示ifconfig eth0 的IP地址

# ifconfig eth0 | grep "inet " | sed 's/.*addr://g' | sed 's/Bcast.*//g'



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值