标题: [文本处理] [已解决]批处理有什么方法可以找出文本中重复的行? [打印本页]
作者: ljicer 时间: 2015-8-14 14:28 标题: [已解决]批处理有什么方法可以找出文本中重复的行?
本帖最后由 ljicer 于 2015-8-14 22:58 编辑
有一个文本文件,里面有部分行内容重复,有什么方法可以把这些重复的行找出来并写到一个新的文本文件里面。
不知道怎么上传附件,部分内容如下:
77790
77791
77792
77793
77794
77795
77795
77796
77797
77798
77799
怎么找出“77795”这一行,
谢谢!
作者: flyinnet9 时间: 2015-8-14 15:07
- findstr /c:"77795" 1.txt >2.txt
复制代码
作者: pcl_test 时间: 2015-8-14 15:10
- @echo off
- for /f %%a in (1.txt) do (
- if defined #%%a echo;%%a
- set #%%a=def
- )
- pause
复制代码
作者: bailong360 时间: 2015-8-14 15:17
本帖最后由 bailong360 于 2015-8-14 17:51 编辑
- @sort 1.txt|uniq -d
- @pause
复制代码
回复 3# pcl_test
签名的最后三个字耐人寻味
作者: 尘丶 时间: 2015-8-14 15:57
- for /f "delims=" %%i in (1.txt) do findstr /c:"%%i" 2.txt 2>nul&&echo %%i>>2.txt
- pause
复制代码
作者: CrLf 时间: 2015-8-14 16:36
回复 4# bailong360
全是 ID,pcl 的后宫都在这了
作者: CrLf 时间: 2015-8-14 16:37
- gawk "a[$0]++{b[$0]++}END{for(i in b)print $0}" 1.txt
复制代码
作者: DAIC 时间: 2015-8-14 17:00
回复 7# CrLf - gawk "{a[$0]++}END{for(i in a)if(a[i]>1)print i}" 1.txt
复制代码
一个数组就够啦
作者: DAIC 时间: 2015-8-14 17:01
回复 2# flyinnet9
你可能没有理解楼主的问题
作者: DAIC 时间: 2015-8-14 17:03
如果77795出现3次的话,楼主希望得到什么结果呢?
77795
这样?
77795
77795
还是这样?
作者: bailong360 时间: 2015-8-14 17:52
回复 7# CrLf 复制代码
一个自增就够啦
作者: CrLf 时间: 2015-8-14 17:55
回复 11# bailong360
嗯,那要看楼主怎么回答 10 楼的问题了
作者: ljicer 时间: 2015-8-14 22:55
回复 10# DAIC
要第二种的,重复几个就列出来几个。
作者: ljicer 时间: 2015-8-14 23:06
谢谢大家帮忙,我自己不知道白了多少根头发也没能实现,你们一条命令就实现了,虽然后面几种写法我现在一个也看不懂,但还是要谢谢你们,我会把他收藏起来慢慢研究。
作者: ljicer 时间: 2015-8-14 23:21
pcl_test 发表于 2015-8-14 15:10
谢谢你的代码,我加进去就能用了。但是你的代码我还是看不明白,
“ if defined #%%a echo;%%a” 这句的意思是不是如果%%a不为空就echo出来,
“set #%%a=def” 这句就不明白什么意思,估计很关键,我一注释掉就不行。
方便的话能不能帮忙解释下,谢谢!
作者: Batcher 时间: 2015-8-15 12:02
回复 15# ljicer
if命令教程17页有类似的例子,视频里面有讲解。
http://bbs.bathome.net/thread-31727-1-1.html
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |