[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. gawk "{if(!c[$0]++){if(!f[$1]++)b[++n]=$1;a[$1][++m[$1]]=$0}}END{for(i=1;i<=n;i++)for(j=1;j<=m[b[i]];j++)print(a[b[i]][j])}" 1.txt >2.txt
复制代码
1

评分人数

    • 77七: 乐于助人技术 + 1

TOP

楼主是想让安徽排在第一个这样的排序吗

TOP

去重复 然后排序,只是不确定你想怎样排序,是一次性排序,还是只排关键词,试试吧,看达不到要求
  1. gawk "{if(!c[$0]++)a[$1][b[$1]++]=$0}END{PROCINFO[\"sorted_in\"]=\"@ind_str_asc\";for(k in a)for(i=0;i<b[k];i++) print a[k][i]}" 1.txt>2.txt
复制代码
回复 17# 77七
1

评分人数

    • 77七: 乐于助人技术 + 1

TOP

一定执着于批处理的话 这样处理怎么样,效率提高不大,比较SET还是否轻松点吧
  1. @echo off&setlocal enabledelayedexpansion
  2. REM 存为ANSI文件
  3. %1 (for /f "tokens=1,2*" %%i in ('%0 rem ^|sort') do echo %%i %%k)>2.txt&exit
  4. for /f "tokens=1,2*delims=: " %%a in ('findstr /n . ^< a.txt') do (
  5.      if not defined _"%%b %%c" (
  6.         set s=000000%%a
  7.         echo %%b !s:~-7! %%c
  8.      )
  9.      set _"%%b %%c"=0
  10. )
复制代码

TOP

返回列表