Linux之sed小练习

阿豪运维笔记(阿豪同学) 2020-02-01 1.16 K阅读

温馨提示:这篇文章已超过1033天没有更新,请注意相关的内容是否还可用!

把/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


以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作有参考学习价值
喜欢请点击上方【分享】,如果对您有帮助可点击上方【打赏】打赏本站。谢谢大家对阿豪运维笔记的支持。

文章作者: 阿豪运维笔记(阿豪同学)
本文链接:
文章版权:站长码字很辛苦,除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码