Linux常用命令之sed练习

原创 彭淇  2017-11-29 16:18:06  阅读 2290 次 评论 0 条

sed命令常用的差不多讲完了,只要您多加练习就能熟悉它了,为了能让你更加牢固的掌握sed的应用,留几个练习题,希望你能认真完成!

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

2 打印test.txt的3到10行;

3 打印test.txt中包含“root”的行;

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

5 删除test.txt中包含“bash”的行;

6 替换test.txt中“root”为“toor”;

7 替换test.txt中“/sbin/nologin”为“\bin/login”;

8 删除test.txt中5到10行所有的数字;

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

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

11 把test.txt中出现的第一个数字和最后一个单词调换位置;

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

13 在test.txt 20行到末行最前面加“aaa”;

    现在给出以上练习题的答案,你如果实在想不出如何操作,那你看看答案吧,请尽量多想一下,毕竟站长在10-12题都徘徊、查找了好多资料才成功了哟!

[[email protected] ~]# cp -a /etc/passwd /root/test.txt; sed-n'1,$'p  test.txt
[[email protected] ~]# sed -n '3,10'p  test.txt
[[email protected] ~]# sed -n '/root/'p  test.txt
[[email protected] ~]# sed '15,$'d  test.txt
[[email protected] ~]# sed '/bash/'d  test.txt
[[email protected] ~]# sed 's/root/toor/g' test.txt
[[email protected] ~]# sed 's#sbin/nologin#bin/login#g' test.txt
[[email protected] ~]# sed '5,10s/[0-9]//g' test.txt
[[email protected] ~]# sed 's/[^0-9a-zA-Z]//g' test.txt
[[email protected] ~]# sed 's/\(^[a-zA-Z][a-zA-Z]*\)\([^a-zA-Z].*\)\([^a-zA-Z]\)\([a-zA-Z][a-zA-Z]*$\)/\4\2\3\1/' test.txt
[[email protected] ~]# sed 's#\([^0-9][^0-9]*\)\([0-9][0-9]*\)\([^0-9].*\)\([^a-zA-Z]\)\([a-zA-Z][a-zA-Z]*$\)#\1\5\3\4\2#' test.txt
[[email protected] ~]# sed 's#\([^0-9][^0-9]*\)\([0-9][0-9]*\)\([^0-9].*$\)#\1\3\2#' test.txt
[[email protected] ~]# sed 's/^.*$/&aaa/' test.txt

    请注意相应命令之间的空格哟

本文地址:https://www.pengqi.club/blog/196.html
版权声明:本文为原创文章,版权归 彭淇 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?