• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    批处理实现过滤重复行

    a.txt内容如下:
    123
    456
    789
    123
    123
    789

    获取重复的行,并且重复的行只保留一次,处理后得到b.txt内容如下:
    123
    789

    方法1:

    @echo off
    REM 缺点1:无法处理特别大的文件
    REM 缺点2:需要使用文件中没有出现的字符来标记变量(本例中使用的是下划线)
    setlocal
    for /f "delims=" %%i in (a.txt) do (
      set /a _%%i+=1
    )
    (for /f "tokens=1-2 delims=_=" %%i in ('set _') do (
      if %%j gtr 1 (
        echo,%%i
      )
    ))>b.txt
    endlocal
    

    方法2:

    @echo off
    setlocal enabledelayedexpansion
    set "PriLine="
    set "DupNum=1"
    (for /f "delims=" %%i in ('sort a.txt') do (
      if "!PriLine!" equ "%%i" (
        set /a DupNum+=1
      ) else (
        if !DupNum! gtr 1 (
          echo,!PriLine!
        )
        set DupNum=1
      )
      set "PriLine=%%i"
    ))>b.txt
    if !DupNum! gtr 1 (
      >>b.txt echo,!PriLine!
    )
    

    方法3:

    gawk "{a[$0]++}END{for(i in a)if(a[i]>1)print i}" a.txt > b.txt
    

    方法4:(更加简洁)

    gawk "a[$0]++" a.txt>b.txt
    

    方法5:

    @echo off
    for /f "tokens=*" %%i in (a.txt) do set #%%i=%%i
    (for /f "tokens=2 delims==" %%i in ('set #') do echo %%i)>b.txt

    您可能感兴趣的文章:
    • 用vbscript实现从文本文件中删除所有重复行的代码
    • 批处理 删除重复行的代码
    • python统计一个文本中重复行数的方法
    • ASP.NET DataTable去掉重复行的2种方法
    • php删除文本文件中重复行的方法
    上一篇:批处理实现乱雨纷飞(黑客帝国特效)
    下一篇:批处理制作二维码生成器
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    批处理实现过滤重复行 批处理,实现,过滤,重复,