本文作者:不许人间见白头

Linux之sed小练习

不许人间见白头 2个月前 ( 12-13 ) 84

把/etc/passwd复制到/root/test.txt,用sed打印所有行

# /bin/cp /etc/passwd /root/test.txt && sed -n '1,$'p test.txt

打印test.txt,3到10行

# sed -n '3,10'p test.txt

打印test.txt包含root的行

# sed -n '/root/'p test.txt

删除test.txt的第15行及以后的所有行

# sed  '15,$'d test.txt

删除test.txt中包含bash的行

# sed '/bash/'d test.txt

将test.txt中的root替换成toor

# sed 's/root/toor/'g test.txt

将test.txt中的/sbin/nologin替换为/bin/login

# sed 's#sbin/nologin#bin/login#g' test.txt

删除test.txt中的第五行-第十行中所有数字

# sed '5,10s/[0-9]//g' test.txt

删除test.txt中所有的特殊字符,(除了数字以及大小写字母)

# sed 's/[^0-9a-zA-Z]//g' test.txt

把test.txt中第一个单词和最后一个单词调换位置

# sed -r 's/(^[a-zA-Z]+)([^a-zA-Z].*[^a-zA-Z])([a-zA-Z]+$)/\3\2\1/' test.txt

把test.txt中出现的第一组数字(1个或者多个)和最后一个单词调换位置

# sed -r 's/(^[^0-9]*)([0-9]+)([^0-9].*[^a-zA-Z])([a-zA-Z]+$)/\1\4\3\2/' test.txt

把test.txt中第一个数字移动到本行末尾

# sed -r 's/(^[0-9]*)([0-9]+)([^0-9].*$)/\1\3\2/' test.txt

在test.txt第20行到最后一行最前面加aaa:。

# sed '20,$s/^.*$/aaa:&/' test.txt


文章版权及转载声明

作者:不许人间见白头本文地址:https://www.ahaoyw.com/article/52.html发布于 2个月前 ( 12-13 )
文章转载或复制请以超链接形式并注明出处阿豪运维笔记

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏