正则表达式 --sed

sed命令格式如下:

sed  参数  功能选项  文件名或其他标准输入

sed参数如下:

-i:修改文件内容,不是由屏幕输出

-n:取消默认输出,只有被 sed 特殊处理的那一行才

-e:直接在命令行上进行 sed 动作编辑

-f:运行在文件中的 sed 动作

-r:支持扩展型正则表达式

n1,n2:n1 行到 n2 行

sed功能选项如下:

a:追加内容到指定行后

i:插入内容到指定行前

d:删除指定行

c:用新行替换旧行(不常用)

s:对每一行第一次匹配到的内容进行替换,配合标志g可以将一行中所有匹配到的内容进行替换

p:输出指定内容,默认会输出2次匹配到的内容

一、以行为功能的增删功能

1. 将 /etc/passwd 的内容列出并且列印行号,同时,请将第 2~5 行删除!

nl /etc/passwd | sed "2,5d"

2.  #在第二行后(亦即是加在第三行)加上 "Hello Sed" 字样!

 nl /etc/passwd | sed '2 a Hello Sed'

 注意:之前加把 a 改为 i ;增加多行用 \ 

 二、以行为功能的替换和显示功能

1. 将 2-5 行 No 换为 Number 

nl /etc/passwd | sed "2,5c No 2-5 Number"

2. 显示 2-5 行

nl /etc/passwd | sed -n "2,5p"

3. 获取 IP 地址

(1)查看IP地址所在的文件

/sbin/ifconfig

(2)查看 IP 地址所在的行

/sbin/ifconfig eth0 | grep "inet"

(3)删除 IP 地址前面的内容

/sbin/ifconfig eth0 | grep "inet" | sed 's/^.*inet //g'

(4)删除 IP 地址后面的内容

/sbin/ifconfig eth0 | grep "inet" | sed 's/^.*inet //g' | sed 's/netmask.*$//g'

三、修改文件

sed -i 's/\.$/\!/g' regular_express.txt

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值