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

[文本处理] [已解决]批处理如何统计重复行并排序?

[复制链接]
发表于 2021-10-3 22:26:51 | 显示全部楼层 |阅读模式
本帖最后由 necnec1 于 2021-10-5 10:08 编辑

BSZXX210827
BSZXX210827
BSZXX210827
BSZXX210828
BSZXX210829
BSZXX210830
BSZXX210831
BSZXX210831
BSZXX210831
一个文本文件AA.TXT  内容如上  重复的行 能不能统计出 重复了多少次  并按照重复的次数从大到小的排序
BSZXX210828  1次
BSZXX210829  1次
BSZXX210830  1次
BSZXX210827   3次
BSZXX210831  3次
最后结果像这样
发表于 2021-10-4 21:30:12 | 显示全部楼层
回复 1# necnec1
  1. gawk "BEGIN {PROCINFO ["sorted_in"]="@val_num_asc"}{a[$0]++}END{for(i in a)print i,a[i]}" 1.txt > 2.txt
复制代码
http://bcn.bathome.net/s/tool/index.html?key=gawk

评分

参与人数 1技术 +1 收起 理由
necnec1 + 1 非常完美

查看全部评分

发表于 2021-10-5 09:03:22 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (aa.txt) do set /a %%a+=1
  4. set BSZXX
  5. pause
复制代码
 楼主| 发表于 2021-10-5 10:07:40 | 显示全部楼层
谢谢楼上的各位 问题已解决
发表于 2021-10-6 21:51:24 | 显示全部楼层
回复 4# qixiaobin0715


    严格来说,set命令的结果不是楼主要求的“并按照重复的次数排序”
发表于 2021-10-7 10:35:17 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (aa.txt) do (
  4. if not defined %%a set %%a=1000
  5. set /a %%a+=1
  6. )
  7. set BSZXX|sort /+13>aa.log
  8. for /f "tokens=1* delims==" %%i in (aa.log) do (
  9. set n=%%j
  10. set n=!n:~1!
  11. set /a n=n
  12. echo,%%i !n!次
  13. )
  14. del aa.log
  15. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 00:37 , Processed in 0.031008 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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