Board logo

标题: [文本处理] 批处理如何对文本按(行)字符串长度进行排序并提取包含指定字符串的行? [打印本页]

作者: Rasm    时间: 2012-8-9 06:31     标题: 批处理如何对文本按(行)字符串长度进行排序并提取包含指定字符串的行?

本帖最后由 pcl_test 于 2016-7-7 22:55 编辑

现在我以下这些文本内容,都乱了,文本由400MB

我想按长度排序,或者提取 行数中存在\32位\md5的行数,并将原文本里的内容删除

3286714        tgman615        \06151315\                tgman615
3275911        dream11        \A18BDA8B8640711D4658BD0387FD9A18\                dream11
3275912        rongfanan        \1194D361186061A492EF60C713B79D65\                rongfanan
3275913        645506        \0E6E60714CDBA1857780CC481AC1EC6D\                645506
3275915        罗烨        \08528833965\                罗烨
3275916        mizuno1001        \31985BAEDACDE2F67529DCAD40ABB137\                mizuno1001
3275917        lrb0089        \97582C00B86670F79C858434CD130250\                lrb0089
3275921        neilyo_        \8E9C12FED1EEF97A7DFBC954AF447A39\                neilyo_
3275923        woshiliukai        \EAA79BC53A9EAC05347DA85D46587F85\                woshiliukai
作者: poter    时间: 2012-8-9 20:22

排序用 sort就可以做,提取32位md5,自己修改下代码完成想要的效果吧
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. for /f "tokens=2 delims=\" %%i in ('findstr "[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-
  4. Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]" text.txt') do (
  5. echo %%i
  6. )
复制代码

作者: forfiles    时间: 2012-8-10 09:00

  1. sed -r "/\\[A-Z0-9]{32}\\/!d;s#.*\\([A-Z0-9]{32})\\.*#\1#" a.txt
复制代码





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