免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 章鱼的腿
打印 上一主题 下一主题

[文本处理] 求命令行 [复制链接]

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
11 [报告]
发表于 2013-06-01 10:45 |只看该作者
本帖最后由 cao627 于 2013-06-01 10:55 编辑

@GB_juno
check1=$(sed -n -e '/^This is output/,/^$/{/input/=;}' -e '/^This is input/,${/out/p;}' $i);

比如
文件1的 /^This is output/,/^$/ 之间没有 /input/  但有另外的其他非法内容A
文件2的 /^This is output/,/^$/ 之间没有 /input/   也没有非法的其他内容A,或有非法内容B

你的命令对于这个情况是查不出两文件不一样的

论坛徽章:
22
CU大牛徽章
日期:2013-09-18 15:22:06白羊座
日期:2014-04-14 22:56:32午马
日期:2014-05-16 17:18:08巳蛇
日期:2014-05-30 20:53:19寅虎
日期:2014-06-03 10:53:34未羊
日期:2014-08-12 22:15:31神斗士
日期:2015-11-20 17:26:2515-16赛季CBA联赛之浙江
日期:2016-03-15 18:27:4215-16赛季CBA联赛之同曦
日期:2016-03-22 09:21:0115-16赛季CBA联赛之北控
日期:2017-03-26 21:47:12技术图书徽章
日期:2014-04-03 16:47:26摩羯座
日期:2014-03-25 23:51:36
12 [报告]
发表于 2013-06-01 12:41 |只看该作者
本帖最后由 GB_juno 于 2013-06-01 12:47 编辑

回复 11# cao627


我写的文本主要是针对专门写入input、ouput这些文本行的文本,而且规定了第一行必须是"This is output:",
output的情况后面还有空行,空行后面的第一行是"This is input:",再之后就是input信息,这些都是固定的插入。
如果还希望还要排查其他非法插入,就需要先插入一步了,这步应该放在最前面,该步用于排查是否存在除
1.^This is output:$    2.^This is input:$ ---------sed不支持|和()
3.^yes, this is out[0-9][0-9]*\.$   4.^yes, this is input[0-9][0-9]*\.$
5.^out[0-9][0-9]*:$     6.^input[0-9][0-9]*:$
5. 空行
以外的行,如果有就非法。
check0=$(sed -e '/^This is input:$/d' -e '/^This is output:$/d' -e '/^yes, this is input[0-9][0-9]*\.$/d' -e '/^yes, this is out[0-9][0-9]*\.$/d' -e '/^$/d' -e '/^out[0-9][0-9]*:$/d'  -e '/^input[0-9[0-9]*:$/d' $i)

论坛徽章:
0
13 [报告]
发表于 2014-06-20 14:26 |只看该作者
谢谢各位大侠!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP