Board logo

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

作者: necnec1    时间: 2012-11-18 02:35     标题: 批处理如何提取文本中字符串长度/字符数等于指定值的行并重新排序?

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

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

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

求助各位高手~
作者: CrLf    时间: 2012-11-18 07:39

findstr /x .......... 1.txt>tmp.txt
sort / 6 /o 2.txt tmp.txt
作者: tmplinshi    时间: 2012-11-19 01:07

本帖最后由 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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2