仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 493|回复: 6
打印 上一主题 下一主题

[CentOS(社区)] CentOS教程之Centos下令――sed

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!1.兼并行
zj@zj:~/Script/blog_script$cattest1
1
2
3
4
兼并高低两行
zj@zj:~/Script/blog_script$sed$!N;s/
/        /test1

12
34
兼并婚配形式及其下一行
zj@zj:~/Script/blog_script$sed/2/{N;s/
/        /}test1

1
23
4
兼并一切行
zj@zj:~/Script/blog_script$sed:a;N;s/
/        /;ba;test1

1234

2.互换行
2.1已知行号时互换两行
zj@zj:~/Script/blog_script$cattest
baidumusicsoterriblesobad
microsofthahahaha
yahoobyebye
googleprincesssogood
这里是互换1,4行.固然你能够依据本人必要修正
zj@zj:~/Script/blog_script$for((i=1;i<=4;i++));docase$iin1)sed-n4ptest;;4)sed-n1ptest;;*)sed-n${i}ptest;;esac;done
googleprincesssogood
microsofthahahaha
yahoobyebye
baidumusicsoterriblesobad
一连时好说:
zj@zj:~/Script/blog_script$sed1{h;d};2{G}test
microsofthahahaha
baidumusicsoterriblesobad
yahoobyebye
googleprincesssogood

2.2不晓得行号
要互换的两行是一连行的情形下:
zj@zj:~/Script/blog_script$sed/baidu/{h;d};/microsoft/{G}test
microsofthahahaha
baidumusicsoterriblesobad
yahoobyebye
googleprincesssogood
ps:互换包括bai与microsoft的行
两行不一连的情形:

zj@zj:~/Script/blog_script$sed/baidu/{:a;N;/google/!ba;s/([^
]*)
(.*)
(.*)/3
2
1/}test

googleprincesssogood
microsofthahahaha
yahoobyebye
baidumusicsoterriblesobad
ps:互换含有baidu与google的行

研讨了下写了个不管一连不一连的都能够的:
zj@zj:~/Script/blog_script$sed/baidu/{:a;N;/microsoft/!ba;/[^
]*baidu[^
]*
[^
]*microsoft[^
]*$/{s/([^
]*baidu[^
]*)
(.*)/2
1/};s/([^
]*)
(.*)
(.*)/3
2
1/}test

microsofthahahaha
baidumusicsoterriblesobad
yahoobyebye
googleprincesssogood

zj@zj:~/Script/blog_script$sed/baidu/{:a;N;/google/!ba;/[^
]*baidu[^
]*
[^
]*google[^
]*$/{s/([^
]*baidu[^
]*)
(.*)/2
1/;};s/([^
]*)
(.*)
(.*)/3
2
1/}test

googleprincesssogood
microsofthahahaha
yahoobyebye
baidumusicsoterriblesobad

ps:下面代码
/baidu/{....}碰到含有baidu的行,入手下手做{}中的下令序列
:a;N;/google/!ba轮回读信息,直到读取google.
/[^
]*baidu[^
]*
[^
]*google[^
]*$/这个就是说假如哦baidu与google之间只要一个
,即这两个是一连行就:{s/([^
]*baidu[^
]*)
(.*)/2
1/;}互换这两行


假如不婚配下面的形式就是说不是一连行了.
s/([^
]*)
(.*)
(.*)/3
2
1/}

而在婚配一连行的情形下是不成能婚配下面表达式的.ok~~~~

3.交互奇偶行
zj@zj:~/Script/blog_script$sed$!N;s/([^
]*)
([^
]*)/2
1/test

microsofthahahaha
baidumusicsoterriblesobad
googleprincesssogood
yahoobyebye

4.删除行就不必说了吧
d喽....

5.删除空行
sed/^$/dtest2
删除多个空举动一个空行
sed/^$/{N;/^
*$/D}test2
欢迎大家来到仓酷云论坛!
admin 该用户已被删除
沙发
发表于 2015-1-17 10:05:54 | 只看该作者
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
山那边是海 该用户已被删除
板凳
发表于 2015-1-26 07:45:10 | 只看该作者
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
老尸 该用户已被删除
地板
发表于 2015-2-4 18:50:26 | 只看该作者
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。
莫相离 该用户已被删除
5#
发表于 2015-2-10 06:04:40 | 只看该作者
任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。
若相依 该用户已被删除
6#
发表于 2015-3-10 12:37:07 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-24 03:34:08 | 只看该作者
对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 20:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表