Linux -sed

sed ,查找
sed -n '/root/'p passwd #列出passwd中有root的行
Linux -sed

sed -nr '/o+t/'p passwd #sed -r = grep -E 都是进行脱意
Linux -sed

sed -nr '/0{2}/'p passwd #匹配两次o的
Linux -sed

sed -nr '/root|bus/'p passwd #匹配root 或者bus的
Linux -sed

sed -n '2'p passwd # 查找指定的行
sed -n '2,5'p passwd # 查找2,5行
sed -n '2,$'p passwd # 查找2到末行,$代表末行
sed -n '1,$'p passwd #查找全部

sed -e '1'p -e '/111/'p -n test.txt #同一个表达式,执行多个操作命令,用-e ,注意的是,如果同时有两个命令匹配一样的数据,则会显示两条一模一样的。

sed -n '/bus/'Ip # I表示不区分大小写
sed '1,10'd passwd #删掉某哥文件的前十行,仅仅只是在屏幕当初删除前十行,不会真正的删除
sed -i '1,10'd passwd #是真的会删除前十行
sed -i '/root/'d passwd #删掉root 相关的行

sed '1,10s/root/toor/g' passwd #将1到10行的root全部替换为toor,页面会全部显示出来
sed '1,10s/ro+t/r/g' passwd #jiang 1到10行,所有的ro全部替换为r。
sed 's//root/123/g' #这种情况时,会报错,因为系统不识别,你是怎么划分的,应该写成:
sed 's\/root\/123/g' 要么用反斜杠,要么用@或#号

sed -r 's/([^:]+):(.):([^:]+)/\3:\2:\1' #第一段和最一段做替换
([^:]+) : #:加号以前非:一个或多个
.
: #贪婪匹配,一直匹配到最后一个冒号
\1\2\3 代表三个括号,既然调换,则需要写出 \3:\2:\1

sed 's/[a-zA-Z]//g' #将字母全部替换为空,就是删除字母
sed 's/(.*)/aaa: &/ ' #&表示前面的括号。 在行首加aaa

转载于:https://blog.51cto.com/13451715/2301530

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值