Board logo

标题: [文本处理] [已解决]批处理怎么在文件里找到超过二个同样的字符并写到新文件? [打印本页]

作者: ilovebath    时间: 2011-11-15 16:06     标题: [已解决]批处理怎么在文件里找到超过二个同样的字符并写到新文件?

怎么在一个文本文件里找到超过二个同样的字符,并写到新文件里?
例子:
dfdfskjfd
abcd
fdskjfdsjk
zdfsaksdfk
abcd
1234
ddddddddddddddd
1234
aaaaaaaaaaaaaaaaaaaaa
1234

最后的结果是写到另一个文件里,并在后面加上重复的次数。
abcd-2次
1234-3次
作者: CrLf    时间: 2011-11-15 16:20

如果文本内容中不含等号,可以用联盟的经典算法。
  1. @echo off
  2. for /f "delims=" %%a in (1.txt) do set /a @%%a+=1
  3. (for /f "tokens=1,2 delims==" %%a in ('set @') do (
  4.    set var=%%a
  5.    setlocal enabledelayedexpansion
  6.    echo !var:~1!-%%b次
  7.    endlocal
  8. ))>2.txt
复制代码

作者: awk    时间: 2011-11-15 21:58

  1. gawk "{a[$0]++}END{for(i in a){if(a[i]>1)print i,a[i]}}" a.txt
复制代码

作者: ilovebath    时间: 2011-11-16 14:23

回复 3# awk


    谢谢
作者: ilovebath    时间: 2011-11-16 14:23

回复 2# CrLf


    谢谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2