[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

文件见附件,要求按文件最后一项“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.”内容可要可不要。谢谢!

回复 7# sweet惜缘


如果你所有的文件都是保存在Excel里面的,可以考虑使用VBA,或者用VBS来处理也行。
BAT适合处理纯文本格式的文件。

TOP

回复 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";
复制代码

TOP

不好意思,还需打扰下,我需要的是具体操作过程或代码。因为我需要排序的文件很多,附件中只是一小部分。麻烦您指导下。谢谢!

TOP

排序后,在附件上了。(我把你的数据复制为txt格式了)

TOP

有重复或一模一样的行吗?

TOP

选中Int_energy这列,在"Data"选项中点击"Sort"即可。纯粹的Excel排序。
如果需要脚本,还得高手写个VBS处理...
学习...

TOP

结果输出的文件类型最好是excel类型,其他类型也可以。主要是把文件的内容按文件最后一项“Int_energy”的值从小到大排序。

TOP

纯粹的Excel操作?
学习...

TOP

返回列表