主页 > 知识库 > 批处理实现过滤重复行

批处理实现过滤重复行

热门标签:电话机器人产品怎么样 如何申请400电话业务mm 雷霆电销机器人怎么样 清远百度地图标注店铺位置 呼伦贝尔外呼系统 如何弄地图标注 电话机器人全国招商 智能打电话机器人收费 玉林市机器人外呼系统哪家好

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删除文本文件中重复行的方法

标签:台州 株洲 公主岭 白银 乐山 三门峡 芜湖 江西

巨人网络通讯声明:本文标题《批处理实现过滤重复行》,本文关键词  批处理,实现,过滤,重复,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《批处理实现过滤重复行》相关的同类信息!
  • 本页收集关于批处理实现过滤重复行的相关信息资讯供网民参考!
  • 推荐文章