• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >DOS/BAT > 批处理实现过滤重复行

批处理实现过滤重复行

作者:hebedich 字体:[增加 减小] 来源:互联网

hebedich 通过本文主要向大家介绍了广州十三行网批,十三行网批,广州十三行服装批,台湾自由行城市第六批,改朱批行蓝批等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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
</div>

方法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!
)
</div>

方法3:

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

方法4:(更加简洁)

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

方法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
</div>

</div>

您可能想查找下面的文章:

  • 批处理实现过滤重复行

相关文章

  • DOS快速入门法
  • 可以使用的批处理参数集合
  • 如何在 Netware 服务器中安装多块网卡
  • 用批处理写的永不被杀的后门
  • 批处理程序中的“多线程”处理代码
  • 批处理删除使用所有Windows Update功能的访问[图文+bat]
  • BAT批处理实现自动安装软件功能
  • 开始→运行(cmd)命令大全第1/2页
  • bat+xcopy实现只复制比目标文件更新的文件
  • 批处理实现的文字的飞入+变色效果代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • XCOPY的高级使用:指定日期并且用EXCLUDE排除指定文件
    • Netsh.exe 工具和命令行开关说明
    • cmd模式下中文乱码的解决方法(注册表)
    • CHM 文档解包批处理代码
    • Dos批处理编写一键清理系统垃圾的bat代码
    • U盘数据备份批处理代码
    • 批处理bat计算两个时间差
    • 批处理命令教学之tree命令
    • SQL SERVER服务使用批处理启动/停止的方法(sc)
    • DOS批处理中%cd%与%~dp0的区别详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有