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

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

[复制链接]
发表于 2012-11-18 02:35:11 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-1 22:14 编辑

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

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

求助各位高手~
发表于 2012-11-18 07:39:32 | 显示全部楼层
findstr /x .......... 1.txt>tmp.txt
sort / 6 /o 2.txt tmp.txt
发表于 2012-11-19 01:07:36 | 显示全部楼层
本帖最后由 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 08:17 , Processed in 0.014957 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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