免费注册 查看新帖 |

Chinaunix

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

请教:如何在linux或者vim下处理这类文本文件的查找替换问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-22 14:13 |只看该作者 |倒序浏览
文本格式如下,数字之间是空格区分,有负数,小数是5位或者6位:

9 -2.388184 387.789551 -16.617188 5.000000 5.000000
54 -14.545044 391.809570 -13.232910 12.000000 12.000000
54 -59.005737 387.847656 -14.665039 8.000000 8.000000
19 -69.624573 241.282227 2.563965 7.000000 7.000000
9 -31.060669 381.822754 -15.930663 5.000000 5.000000
19 -96.411621 232.896484 0.444336 7.000000 7.000000

难度降低点

操作目标:
1、查找在第一个空格前的数为相同的情况下(如都是9或者都是54开头的行),同时处理最后两
个数,处理方法:最后两个数分别以0.1到1或1到无穷大的倍数同时增加。也就是同乘以这个倍数,并且还要保持6位小
数,这个倍数能在命令行里手工输入。或者在脚本内指定,不知道有没有合适的命令组合或者脚本能够完成?
2、删除第一列相同的,例如都是9,的所有的行。不知道有没有合适的命令组合或者脚本能够完成?

这个文件是一个游戏引擎里自动生成的,而后手工批量处理时没有找到好的办法,只有在linux或vim或其他可能下
面来尝试,有朋友能够帮忙解决么?感谢!

论坛徽章:
0
2 [报告]
发表于 2007-12-22 15:57 |只看该作者
sort先排序,或者awk,循环取出每行,第一个域指定参数,对第五个域,第六个域做倍数乘法,我没有使用linux的经验,有人给出一个详细的方法么?

论坛徽章:
0
3 [报告]
发表于 2007-12-23 15:10 |只看该作者
问题自己解决!看来问题还是太简单了!一条awk就能解决的问题麻烦大家进来看了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP