Chinaunix

标题: 请教:如何在linux或者vim下处理这类文本文件的查找替换问题? [打印本页]

作者: jeanrene    时间: 2007-12-22 14:13
标题: 请教:如何在linux或者vim下处理这类文本文件的查找替换问题?
文本格式如下,数字之间是空格区分,有负数,小数是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或其他可能下
面来尝试,有朋友能够帮忙解决么?感谢!
作者: jeanrene    时间: 2007-12-22 15:57
sort先排序,或者awk,循环取出每行,第一个域指定参数,对第五个域,第六个域做倍数乘法,我没有使用linux的经验,有人给出一个详细的方法么?
作者: jeanrene    时间: 2007-12-23 15:10
问题自己解决!看来问题还是太简单了!一条awk就能解决的问题麻烦大家进来看了!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2