标题: [文本处理] [已解决]批处理取重复行怎么写 [打印本页]
作者: kingming 时间: 2015-8-21 10:23 标题: [已解决]批处理取重复行怎么写
本帖最后由 kingming 于 2015-8-21 16:21 编辑
如题,有一个文本,里面有很多重复,怎么取其中超过5次重复的行,并且保存
作者: 尘丶 时间: 2015-8-21 10:39
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (1.txt) do (
- set /a _%%a+=1
- if !_%%a!==6 echo;%%a
- )
- pause
复制代码
作者: kingming 时间: 2015-8-21 10:43
回复 2# 尘丶
这个运行以后1.txt 没有任何变化,能不能把结果输出到2.txt,1.txt不做任何改变
作者: pcl_test 时间: 2015-8-21 12:13
- ::先下载http://batch-cn.qiniudn.com/tool/gawk.exe
- gawk "{a[$0]++}END{for(i in a)if(a[i]>5)print i}" "1.txt">"2.txt"
复制代码
作者: 回家路上 时间: 2015-8-21 12:22
回复 3# kingming
二楼的代码就是输出你要求的行,你只需要将其输出到文件中就行了呀- @echo off&setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (1.txt) do (
- set /a "_%%a+=1"
- if "!_%%a!"=="6" echo;%%a
- ))>2.txt
- pause
复制代码
作者: bailong360 时间: 2015-8-21 12:29
- @gawk "!(a[$0]++-5)" 1.txt>2.txt
复制代码
作者: terse 时间: 2015-8-21 23:54
win7 系统 powershell- gc a.txt | group |?{$_.Count -gt 4}| select -Exp name |sc -Path b.txt
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |