免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 12351 | 回复: 43
打印 上一主题 下一主题

删除特定文本的shell [复制链接]

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-17 13:00 |只看该作者 |正序浏览
有一个文本内容如下:

  1. #####172.18.3.183#####

  2. #####172.18.3.175#####

  3. #####172.18.3.201#####

  4. Fail!!####172.18.3.153 down!!!####

  5. #####172.18.3.151#####

  6. #####172.18.3.152#####

  7. #####10.4.9.86#####
  8. /dev/sda3       136G    120G    9.7G    93%     /home

  9. #####10.4.9.87#####

  10. #####10.4.9.88#####

复制代码

想用shell修改后最终为如下:

  1. Fail!!####172.18.3.153 down!!!####

  2. #####10.4.9.86#####
  3. /dev/sda3       136G    120G    9.7G    93%     /home

复制代码

论坛徽章:
1
摩羯座
日期:2015-01-08 14:01:55
44 [报告]
发表于 2009-04-21 21:52 |只看该作者

回复 #43 小渔村 的帖子

这是老师来给CU同学出的考题

论坛徽章:
0
43 [报告]
发表于 2009-04-21 21:45 |只看该作者
学习了,

顺便打下酱油了:
既然是监视脚本,我觉得没有必要再做二次处理吧?

我觉得下面的信息
#####172.18.3.183#####
#####172.18.3.175#####
#####172.18.3.201#####

是表示检测主机是正常的了。
而Fail!!####172.18.3.153 down!!!####这个信息是表示这台主机有问题。

再接下来
#####10.4.9.86#####
/dev/sda3       136G    120G    9.7G    93%     /home
这个是表示磁盘空间超过了90%了,或者一个额定数额。

而下面的是没有超过数额的信息。
#####10.4.9.87#####
#####10.4.9.88#####

那为什么不在原来的监视脚本中加一个判断呢?
正常的信息就不要“显示”了嘛!

不知道在不在理 是不是哦?嘿嘿。

飘过。。

论坛徽章:
1
摩羯座
日期:2015-01-08 14:01:55
42 [报告]
发表于 2009-04-20 21:44 |只看该作者
原帖由 mxdxzm 于 2009-4-20 20:17 发表
sed '/^$/!N;/^#.*\n$/d' urfile

有没有来解释一下些句?


我来详细点解释吧。
sed '/^$/!N;/^#.*\n$/d' filename
/^$/,这是匹配空行
N,这就是把之前匹配^$(即为空行)的下一行追加到pattern space
!就是取反的意思,这里就是非空行
/^#.*\n$/,这是匹配#开头,\n结尾的行,中间的.和*是正则
估计对于N不好理解,你用替换语句来感受下就行了。
sed '/^$/N;s/\n/ENTER\tenter/g' filename
sed '/^$/N;s/\n/ENTER\tenter/g' filename
PS:N参数使用的时候,个人感觉是两行两行来操作的,这里用了N参数,匹配的那行结尾回车就可以用\n来表达了。
man sed:n N    Read/append the next line of input into the pattern space.

[ 本帖最后由 可恶的 于 2009-4-23 13:04 编辑 ]

论坛徽章:
0
41 [报告]
发表于 2009-04-20 20:45 |只看该作者
原帖由 mxdxzm 于 2009-4-20 20:17 发表
sed '/^$/!N;/^#.*\n$/d' urfile

有没有来解释一下些句?

非空行把下一行追加到pattern space,删除以"#"开头以"\n"结尾的“行”。

可参考置顶帖相关知识点。

论坛徽章:
0
40 [报告]
发表于 2009-04-20 20:17 |只看该作者
sed '/^$/!N;/^#.*\n$/d' urfile

有没有来解释一下些句?

论坛徽章:
1
摩羯座
日期:2015-01-08 14:01:55
39 [报告]
发表于 2009-04-20 14:39 |只看该作者
原来想当大一部分老师是靠忽悠学生来工作的。
希望您只是培训学校的老师,要是所有高校的老师都是这样,我觉得内地的学校真的没什么必要念了。
让内地多一些‘诺丁汉’之类的学校,把先进的教育模式和理念引进才是关键。
不好意思,我缺乏一颗包容的心,我喜欢模仿叫兽。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
38 [报告]
发表于 2009-04-20 11:57 |只看该作者
看来引起的公愤不少啊。
确切的说是因为多说了两句吧?还是其他?eeeef就是因为帮我了我才发表下评论,或许相对部分人说的真的不是不应该评论eeef对吧?但是我想这个评论对eeeef无害而有益,因为至少这样的提醒对于他的工作只会有用而不会无害,之后eeeef并未发表言论至少在这点上eeeef是挺虚心的值得我尊重的人。虽然如此但我仍然坚持我的观点:
我是DBA和kwokcn包括其他有几个网友我就不一一说明了他们的答案就是非常非常好的,从他们的答案里就能看出他们对于问题的分析能力非常到位,在解决问题上也非常的具备良好的通用性,而eeeef的那个答案却真的是没有用。
有人甚至还说我连“最没用”的都不会,我真的笑了,如果那种头痛就把头砍掉,脚痛就把脚砍掉的答案也叫答案的话,我宁愿一头撞死也不会跑这里来问,何况那样的答案还需要跑来问?有人说帮你就不错了你还挑,请看好条件再说这句话,加入你正如我前面说的头痛我帮你砍掉头一样。
也有人说我为人师居然这么差,但我也告诉你我也经常对我的学生说“今天我成为你们的老师不是因为我比你们强,而仅仅是代表着在这个方面你们还需要学习,但其他方面你们或许就是我的老师”。
其他不说了,不管部分人如何评论我的观点始终不变。
这个帖子现在已经真没意义了,如果继续下去就完全的是口水战了,但里面的答案却很精彩,非常漂亮。所以建议版主锁住帖子吧,

[ 本帖最后由 iceblood 于 2009-4-20 12:04 编辑 ]

论坛徽章:
0
37 [报告]
发表于 2009-04-20 11:45 |只看该作者
自己不说明白规律,LZ 这叫没有需求,懂吗,没有需求别人做成什么样子你都得接着,更别说是义务帮忙了。大前提都错了,还挑。
一向很少发贴,忍不住上来吵一下,都象你这样南京老太,还有人帮忙吗。

论坛徽章:
0
36 [报告]
发表于 2009-04-20 11:03 |只看该作者
学习了。。。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP