标题: [文本处理] [已解决]如何用批处理清除文本内的重复行 [打印本页]
作者: qzwifi 时间: 2015-4-30 00:06 标题: [已解决]如何用批处理清除文本内的重复行
本帖最后由 qzwifi 于 2015-4-30 01:06 编辑
例:
a.txt 文本内容:
00 00 00 00 00 00
01 01 01 01 01 01
01 02 03 04 05 06
01 01 01 01 01 01
以上文本数据行有重复,清除重复的行。保存为:
b.txt
00 00 00 00 00 00
01 01 01 01 01 01
01 02 03 04 05 06
作者: CrLf 时间: 2015-4-30 00:13
文件不大的话,可以这样:- @echo off
- (for /f "tokens=*" %%a in (a.txt) do (
- if not defined %%a echo %%a
- set %%a=*
- ))>b.txt
复制代码
作者: qzwifi 时间: 2015-4-30 00:15
回复 2# CrLf
文件挺大的。
作者: qzwifi 时间: 2015-4-30 00:24
回复 2# CrLf
试了下,处理不来,几KB的保存速度。。因为文件较大。有一百多兆!能写一个大文件使用的吗?谢谢。。。
作者: CrLf 时间: 2015-4-30 00:46
本帖最后由 CrLf 于 2015-4-30 02:50 编辑
如果已有 gawk 就用这个:- @gawk "!arr[$0]++" a.txt>b.txt
复制代码
要是没有就用这个:- <!-- :
- @echo off
- mshta "%~f0"
- gawk "!arr[$0]++" a.txt>b.txt
- pause
- -->
-
- <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
- <script src=http://bbs.bathome.net/lib/diy/Tools.js></script>
- <script>Tools.get('gawk')</script>
复制代码
作者: qzwifi 时间: 2015-4-30 01:06
回复 5# CrLf
OK,谢谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |