找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26479|回复: 8

[文本处理] 批处理如何把文件内的内容按值排序?

[复制链接]
发表于 2011-12-13 21:55:44 | 显示全部楼层 |阅读模式
文件见附件,要求按文件最后一项“Int_energy”的值从小到大将文件内容排序。结果输出到另一文件(excel类型)。文件中“ZINC14474813    Elapsed time  2 seconds        ERROR:  Could not complete growth Confirm that the grid box is large enough to contain the ligand  and try increasing max_orientations.”内容可要可不要。谢谢!
发表于 2011-12-14 10:19:31 | 显示全部楼层
纯粹的Excel操作?
 楼主| 发表于 2011-12-14 12:25:54 | 显示全部楼层
结果输出的文件类型最好是excel类型,其他类型也可以。主要是把文件的内容按文件最后一项“Int_energy”的值从小到大排序。
发表于 2011-12-15 13:23:51 | 显示全部楼层
选中Int_energy这列,在"Data"选项中点击"Sort"即可。纯粹的Excel排序。
如果需要脚本,还得高手写个VBS处理...
发表于 2011-12-15 13:31:05 | 显示全部楼层
有重复或一模一样的行吗?
发表于 2011-12-15 14:06:04 | 显示全部楼层
排序后,在附件上了。(我把你的数据复制为txt格式了)
 楼主| 发表于 2011-12-15 14:31:45 | 显示全部楼层
不好意思,还需打扰下,我需要的是具体操作过程或代码。因为我需要排序的文件很多,附件中只是一小部分。麻烦您指导下。谢谢!
发表于 2011-12-15 14:57:53 | 显示全部楼层
回复 7# sweet惜缘

我用的Perl脚本

  1. use strict;
  2. use warnings;
  3. my @lines;
  4. open FH,"<","test.txt" or die;
  5. while (<FH>){
  6.         next if /^\s+$/;
  7.         push @lines,$_ if /.{50,}/;
  8.         }
  9. # my @lines=<FH>;
  10. use Sort::Fields;
  11. my @sorted = fieldsort ["10n"], @lines;
  12. print "@sorted\n";
复制代码
发表于 2011-12-16 11:27:21 | 显示全部楼层
回复 7# sweet惜缘


如果你所有的文件都是保存在Excel里面的,可以考虑使用VBA,或者用VBS来处理也行。
BAT适合处理纯文本格式的文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 21:08 , Processed in 0.018464 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表