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

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

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

排序用 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. )
复制代码

TOP

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

TOP

返回列表