免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: greaterwei

[文本处理] (已解决) 请问怎样检查多个文件是否含特定内容,然后删除某些特殊行并输出文件名? [复制链接]

论坛徽章:
0
发表于 2017-06-29 22:22 |显示全部楼层
回复 19# jason680
测试成功!非常感谢前辈!!

论坛徽章:
0
发表于 2017-06-29 22:38 |显示全部楼层
本帖最后由 greaterwei 于 2017-06-30 17:00 编辑

回复 20# 关阴月飞

前辈您好,您的代码很好用,运行没有问题。但根据结果,我还想做些规则的小修改,不好意思
如果需同时检查的是红字区域(区域1,即_chemical_formula_moiety  这一行及其下面的一行)和蓝字区域(区域2,即_atom_site_fract_z  这一行的下面区域至文档结束)是否含‘H’,其他规则不变。该怎么办呢? 十分感谢!


_chemical_formula_moiety   ...
...
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
...
...
...
#END




论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
发表于 2017-06-30 09:05 |显示全部楼层
回复 22# greaterwei

for file in /urpath/urfiles*
do
       a=""
       grep -qP '\*|\?' "$file" && { a="+C"; sed -ri  '/\*|\?/d'  "$file"; }
       a+=$(sed -n '/atom_site_fract_z/,${/H/p};/_chemical_formula_moiety/{N;s/\n//;/H/p}' "$file" |awk 'BEGIN{s[1,1]=0;s[0,0]=1;s[1,0]=2;s[0,1]=3}/_chemical_formula_moiety/{a=1;next}{b=1}END{print "+"s[a++,b++]}')
       echo ${file}${a} >>/urpath/report.txt
done

论坛徽章:
0
发表于 2017-06-30 17:03 |显示全部楼层
回复 23# 关阴月飞

运行成功,谢谢前辈!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP