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

[文本处理] 批处理如何提取文本中字符串长度/字符数等于指定值的行并重新排序?

本帖最后由 pcl_test 于 2016-8-1 22:14 编辑

一个上G的文本文件  其中有些一行只有10个字符  字母和数字都有
例如 B46AE00890
       C12DE67298                                 
       C12DE67098
       B46AE00790
我想把只有10个字符的行单独提取出来 放到一个新文本文件里去

然后把提取出来的文本 将最后5个字符再做一次比较 把最大的那组数字提取出来
  比如   B46AE00890   B46AE这组 00890是最大的 就提取他
             C12DE67298   C12DE这组 67298是最大的 就提取他

求助各位高手~

findstr /x .......... 1.txt>tmp.txt
sort / 6 /o 2.txt tmp.txt

TOP

本帖最后由 tmplinshi 于 2012-11-19 01:38 编辑

提取 10个字符的行:
  1. grep -E "^[A-Z0-9]{10}$" 1G.txt >10.txt
复制代码
提取最大的组:
  1. sort /r /+5 10.txt | uniq -w 5 >large.txt
复制代码
grep 下载地址: http://www.interlog.com/~tcharron/grep20d_win.zip
uniq 下载地址: http://www.ossh.com/gnu-win32/uniq.exe

TOP

返回列表