标题: [文本处理] gawk怎样删除文本重复行? [打印本页]
作者: idc878787 时间: 2022-12-21 10:06 标题: gawk怎样删除文本重复行?
- @echo off
- for /f "delims=" %%i in (a.txt) do (if not defined %%i set %%i=A&echo %%i>>b.txt)
复制代码
这个删除文本重复行,数据太多 处理速度太慢了?
用gawk 怎么写? 英文大小写只保留一个 比如:
你好A
你好a
美B女
美b女
去重后 如下
你好A
美B女
作者: hfxiang 时间: 2022-12-21 10:25
本帖最后由 hfxiang 于 2022-12-21 10:30 编辑
- gawk "!a[tolower($0)]++" a.txt>b.txt
复制代码
作者: idc878787 时间: 2022-12-21 10:36
本帖最后由 idc878787 于 2022-12-21 10:38 编辑
回复 2# hfxiang
字母在中间好像不可以?
你好B
你好b
A你好
a你好
美B女
美b女
你A好
你a好
结果
你好B
A你好
美B女
美b女
你A好
你a好
作者: hfxiang 时间: 2022-12-21 10:51
回复 3# idc878787
俺测试完全正常。你检查一下:
1.是否a.txt已保存为ANSI编码格式;
2.是否存在不可见字符有区别;
3.用你的原bat测试是否有效。
作者: idc878787 时间: 2022-12-21 10:56
回复 4# hfxiang
看错了 我的文件保存成UTF8了 可以了 谢谢
作者: hfxiang 时间: 2022-12-21 11:24
回复 5# idc878787
如果文本必须为UTF8编码,需要用 Ruby(https://rubyinstaller.org/downloads/)中附带的 gawk 方能有效处理
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |