• 【玛沁天气】最新玛沁今天天气,实时提供玛沁气温、空气质量、24小时天气预报、生活指数查询 2019-07-24
  • 安徽快3派奖热销 宿州彩民一天两趟忙兑奖 2019-07-24
  • 宜昌朝天吼景区举行国际龙舟漂流大赛 2019-07-10
  • 中国大学生帆船锦标赛大鹏启航 2019-07-10
  • 党的十九大举行第一场记者招待会 介绍加强党建工作和全面从严治党有关情况 2019-07-02
  • 中华人民共和国安全生产法 2019-07-02
  • 网络司法拍卖若违法 当事人受损可申请国家赔偿 2019-07-01
  • 火箭3巨头计划选詹皇or乔治?泡椒3点更兼容灯泡 2019-07-01
  • 世界30座顶级建筑美轮美奂令人叹服 ——凤凰网房产 2019-06-25
  • 端午假期要来了!收藏这份指南,避开人山人海 2019-06-18
  • 华为新平板!MediaPad M5 将配麒麟 960 2019-06-16
  • 【中国梦·大国工匠篇】鸡蛋上钻孔显真功 潜心坚守一线练就绝活儿 2019-06-11
  • 【理上网来·喜迎十九大】塞尔维亚驻华大使:中国的发展是其他国家望尘莫及的 2019-06-10
  • 六大工程培育发展新动能 2019-06-10
  • 为推动上合组织发展提供中国智慧、中国方案 2019-05-29
  • 批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
    [批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
    返回列表 发帖

    山东十一选五最新预测:[文本处理] 批处理怎样排除重复并列出重复的行及个数?

    请教各位老师,我想对一个文本文件里的各行字符串排除重复并列出重复行内容及个数
    文件list.txt内容:
    111111
    哈哈
    333333
    65767
    哈哈
    林林
    111111
    哈哈
    ...
    排重后输入到文件tmp1.txt内容:
    111111
    哈哈
    333333
    65767
    林林
    重复的输到文件tmp2.txt内容:
    11出现3次
    哈哈出现2次
    1. @echo off
    2. set info=互助互利,支付宝扫码头像,感谢赞助
    3. rem 有问题,可加QQ956535081及时沟通
    4. title %info%
    5. cd /d "%~dp0"
    6. set "input=list.txt"
    7. set "output1=tmp1.txt"
    8. set "output2=tmp2.txt"
    9. powershell -NoProfile -ExecutionPolicy bypass ^
    10.     $dic=New-Object 'System.Collections.Generic.Dictionary[string,int]';^
    11.     $text=[IO.File]::ReadAllLines('%input%',[Text.Encoding]::Default);^
    12.     for($i=0;$i -lt $text.length;$i++){^
    13.         if(-not $dic.ContainsKey($text[$i])){^
    14.             $dic.Add($text[$i],1);^
    15.         }else{^
    16.             $dic[$text[$i]]++;^
    17.         };^
    18.     };^
    19.     $fs1=New-Object System.IO.FileStream('%output1%', [System.IO.FileMode]::Create);^
    20.     $sw1=New-Object System.IO.StreamWriter($fs1, [Text.Encoding]::Default);^
    21.     $fs2=New-Object System.IO.FileStream('%output2%', [System.IO.FileMode]::Create);^
    22.     $sw2=New-Object System.IO.StreamWriter($fs2, [Text.Encoding]::Default);^
    23.     foreach($item in $dic.Keys){^
    24.         $sw1.WriteLine($item);^
    25.         if($dic[$item] -gt 1){$sw2.WriteLine('['+$dic[$item]+']'+$item)};^
    26.     };^
    27.     $sw1.Close();$fs1.Close();^
    28.     $sw2.Close();$fs2.Close();
    29. echo;%info%
    30. pause
    复制代码
    提供代写,省时省力省事,支付宝扫码头像支付,QQ956535081

    TOP

    awk差不多一行可以完事。
    1. awk '{a[$0]+=1}END{for (i in a){print i >> "tmp1.txt";if (a[i]>1){printf("%s 出现%d次\n",i,a[i]) >> "tmp2.txt"}}}' list.txt
    复制代码

    TOP

    支持使用 gawk
    //bcn.bathome.net/s/tool/index.html?key=gawk
    1. @echo off
    2. gawk "!a[$0]++" "list.txt" > "tmp1.txt"
    3. gawk "{a[$0]++}END{for(i in a)if(a[i]>1)printf(\"%%s 出现%%d次\n\",i,a[i])}" "list.txt" > "tmp2.txt"
    复制代码
    【扫描二维码捐助论坛的朋友请留言注明论坛账号】//bbs.bathome.net/thread-10403-1-1.html
    【批处理在线视频分享】//bbs.bathome.net/thread-31727-1-1.html
    【微信公众号、微信群、QQ群】//bbs.bathome.net/thread-3473-1-1.html

    TOP

    回复 4# Batcher


      关键我是个菜鸟,很多年没写命令行了,gawk这是一个命令吗

    TOP

    我自己写的是这样,大脑有限只能记得这些了,目前暂时能用,但执行的不快。这个是拖入后直接排重计数
    @echo off

    set var=:
    set /p var=拖入文件(请与本工具在同一文件夹)
    echo %var%>tmp.txt
    for /f "delims=*" %%i in (tmp.txt) do set "var=%%~nxi"
    echo 0>tmp.txt>nul
    for /f "delims=*" %%i in (%var%) do (
    findstr "%%i" "tmp.txt">nul||echo %%i>>tmp.txt
    )
    del "排重%var%" >nul 2>nul
    ren tmp.txt 排重%var%


    ::::下面是列出重复行及个数
    @echo off
    del "统计重复%var%" >nul 2>nul
    for /f %%i in (排重%var%) do (
            for /f %%j in ('type %var% ^| find "%%i" /c') do (
                    if %%j GTR 1 echo %%i有%%j次 >>统计重复%var%

    ))
    pause

    TOP

    回复 5# gcbgczhang


        gawk是一个命令行工具,你打开4楼的连接把它下载下来和bat脚本放在一起就行了。
    【扫描二维码捐助论坛的朋友请留言注明论坛账号】//bbs.bathome.net/thread-10403-1-1.html
    【批处理在线视频分享】//bbs.bathome.net/thread-31727-1-1.html
    【微信公众号、微信群、QQ群】//bbs.bathome.net/thread-3473-1-1.html

    TOP

    回复 7# Batcher


        好的,我下载了,一会看看是什么功能

    TOP

    返回列表
  • 【玛沁天气】最新玛沁今天天气,实时提供玛沁气温、空气质量、24小时天气预报、生活指数查询 2019-07-24
  • 安徽快3派奖热销 宿州彩民一天两趟忙兑奖 2019-07-24
  • 宜昌朝天吼景区举行国际龙舟漂流大赛 2019-07-10
  • 中国大学生帆船锦标赛大鹏启航 2019-07-10
  • 党的十九大举行第一场记者招待会 介绍加强党建工作和全面从严治党有关情况 2019-07-02
  • 中华人民共和国安全生产法 2019-07-02
  • 网络司法拍卖若违法 当事人受损可申请国家赔偿 2019-07-01
  • 火箭3巨头计划选詹皇or乔治?泡椒3点更兼容灯泡 2019-07-01
  • 世界30座顶级建筑美轮美奂令人叹服 ——凤凰网房产 2019-06-25
  • 端午假期要来了!收藏这份指南,避开人山人海 2019-06-18
  • 华为新平板!MediaPad M5 将配麒麟 960 2019-06-16
  • 【中国梦·大国工匠篇】鸡蛋上钻孔显真功 潜心坚守一线练就绝活儿 2019-06-11
  • 【理上网来·喜迎十九大】塞尔维亚驻华大使:中国的发展是其他国家望尘莫及的 2019-06-10
  • 六大工程培育发展新动能 2019-06-10
  • 为推动上合组织发展提供中国智慧、中国方案 2019-05-29
  • 湖北30选5今天开奖结果查询 微信双色球龙虎斗 025期三肖中特 一肖公式规律算法平台 神彩福牛双色球132期红球 高级娱乐场所有哪些 福彩幸运武林走势图 安徽十一选五走势一定牛 平码二中二精准资料大全 挪超球队城市分布图 香蜜湖娱乐城大门 体彩超级大乐透走势图100 长沙少儿篮球培训机构 百变王牌规则 联众斗地主