免费注册 查看新帖 |

Chinaunix

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

[文本处理] 2个文件部分行替换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-12 10:56 |显示全部楼层 |倒序浏览
本帖最后由 minzyyl 于 2014-09-12 17:50 编辑

a.txt内容:

*****************
start
aaa
ROW ROW_1409 ...
;
ROW ROW_1503 ...
;
ROW ROW_1503 ...
...
;
ROW ROW_1503 ...
...
GCELLGRID Y 332 ...;
GCELLGRID Y 344 ...;
...
GCELLGRID Y 354 ...;
...
VIAS 1088 ...;
...
abc
...
END VIAS
...
****************

b.txt内容:

*****************
start
bbb
ROW ROW_1409 ...
;
ROW ROW_1503 ...
;
ROW ROW_1503 ...
...
;
ROW ROW_1503 ...
...
GCELLGRID Y 332 ...;
GCELLGRID Y 344 ...;
...
GCELLGRID Y 354 ...;
...
VIAS 1089 ...;
...
cde
...
END VIAS
...
****************

目标文件c.txt:
*****************
start
bbb
...
...
VIAS 1088 ...;
...
abc
...
END VIAS
...
****************

任务:把b.txt文件中的ROW行ROW行之间的“;”都删除,GCELLGRID开头的行也都删除,再把a.txt的VIAS到END VIAS行替换到b.txt对应的位置,得到c.txt。
前面写的不是很清楚,所以重新编辑下,先谢谢大家的帮忙啦

论坛徽章:
0
2 [报告]
发表于 2014-09-12 15:54 |显示全部楼层
回复 2# chengchow


    你的理解有误,没认真看我的帖子。

论坛徽章:
0
3 [报告]
发表于 2014-09-12 15:55 |显示全部楼层
回复 5# Herowinter


    这个;能一起去掉吗?

论坛徽章:
0
4 [报告]
发表于 2014-09-12 17:39 |显示全部楼层
回复 9# Herowinter


    哈哈,各位,是我细节上没有描述清楚。不过你写的已经够用了,谢谢啦

论坛徽章:
0
5 [报告]
发表于 2014-09-15 12:44 |显示全部楼层
回复 5# Herowinter


   

awk 'NR==FNR{if($0~/^VIAS/){s=$0;k=1;next};if(k){s=s"\n"$0};if($0~/^END VIAS/)k=0;next} {if($0~/^ROW/){noShow=!noShow;next}else if($0~/^GCELLGRID/)next;else if($0~/^VIAS/)noShow=1;else if($0~/^^END VIAS/){noShow=0;print s;next}}!noShow' a.txt b.txt
noShow: Event not found.


你好,运行后提示错误noShow: Event not found.

论坛徽章:
0
6 [报告]
发表于 2014-09-16 16:03 |显示全部楼层
回复 14# Herowinter

什么意思啊?

以前写过一个其他功能的可以工作,如下:
    awk '/ROW/,/VIAS/{if($0!~/VIAS/)next;}{if($0~/^DIEAREA/) print "DIEAREA ( 0 0 ) ( 0 2136250 )\n     ( 2272600 2136250 ) ( 2272600 2702100 )\n     ( 3331550 2702100 ) ( 3331550 0 ) ;";else print $0}' test1.txt>test2.txt

论坛徽章:
0
7 [报告]
发表于 2014-09-17 13:59 |显示全部楼层
回复 16# Herowinter


    你好,suse11,csh,GNU Awk 3.1.3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP