Board logo

标题: [文本处理] [已解决]批处理怎样删除文本文件中的所有重复数据? [打印本页]

作者: qwertl    时间: 2010-1-22 20:40     标题: [已解决]批处理怎样删除文本文件中的所有重复数据?

1.txt的内容如下:
33
22
33
22
2
1
0


现想处理成只要求显示如下:(即将重复的数据全删除)
2
1
0

怎样用批处理来实现呢??

[ 本帖最后由 qwertl 于 2010-1-23 13:47 编辑 ]
作者: namejm    时间: 2010-1-22 20:49

  1、是否存在引号、&、!等特殊字符?
  2、每行字符串的长度大概多大?
  3、输出的内容是否一定要保持原有的先后顺序?
作者: qwertl    时间: 2010-1-22 20:54

 1、是否存在引号、&、!等特殊字符?
  2、每行字符串的长度大概多大?
  3、输出的内容是否一定要保持原有的先后顺序?

1是处理excel的一列复制出来的,都是中文公司名,无特殊符号;
2每行的字符串长度有最大20个汉字
3顺序保持原有先后顺序。

[ 本帖最后由 qwertl 于 2010-1-22 20:55 编辑 ]
作者: Batcher    时间: 2010-1-22 21:32

  1. gawk "{a[$0]++;n++;b[n]=$0}END{for (i=1;i<=n;i++) if (a[b[i]]==1) print b[i]}" a.txt
复制代码

作者: q1x2x3    时间: 2010-1-23 09:31

外部命令是找到了,但是管理员的代码好像行不通啊
http://bbs.bathome.net/thread-1114-1-1.html
作者: lxzzr    时间: 2010-1-23 09:37     标题: 回复 5楼 的帖子

什么叫好象行不通呢?^_^
作者: q1x2x3    时间: 2010-1-23 09:57

。。。。不至于是我操作有问题吧,我建了个A.TXT的文本输入了一些重复的内容汉字和数字都试过,然后又建了一个管理员的批处理
运行后发现只是列出了没有重复的行,重复的没有显示
作者: q1x2x3    时间: 2010-1-23 10:05

不好意思没看清楼主的要求
失误。。。
作者: qwertl    时间: 2010-1-23 13:46

代码是看不懂,先拿来用下了。 谢谢batcher.

awk
sed 功能都是强大的。

有没入门的基础教程?

[ 本帖最后由 qwertl 于 2010-1-23 22:37 编辑 ]
作者: Batcher    时间: 2010-1-23 23:20     标题: 回复 9楼 的帖子

sed文章收集
http://www.bathome.net/thread-1929-1-1.html

awk文章收集
http://www.bathome.net/thread-3997-1-1.html
作者: shuiping5566    时间: 2010-1-26 15:36

ECHO.  正在过滤重复字符
for /f "delims=" %%i in (123.txt) do (
if not defined %%i set %%i=A & echo %%i>>555.txt)

555.txt就是过滤好的
作者: Batcher    时间: 2010-1-26 16:26     标题: 回复 11楼 的帖子

你没有理解楼主的要求吧?




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