找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16552|回复: 5

[文本处理] gawk怎样删除文本重复行?

[复制链接]
发表于 2022-12-21 10:06:08 | 显示全部楼层 |阅读模式
  1. @echo off
  2. 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女
发表于 2022-12-21 10:25:08 | 显示全部楼层
本帖最后由 hfxiang 于 2022-12-21 10:30 编辑

  1. gawk "!a[tolower($0)]++" a.txt>b.txt
复制代码
 楼主| 发表于 2022-12-21 10:36:54 | 显示全部楼层
本帖最后由 idc878787 于 2022-12-21 10:38 编辑

回复 2# hfxiang


   字母在中间好像不可以?


你好B
你好b
A你好
a你好
美B女
美b女
你A好
你a好

结果


你好B
A你好
美B女
美b女
你A好
你a好
发表于 2022-12-21 10:51:50 | 显示全部楼层
回复 3# idc878787


俺测试完全正常。你检查一下:
1.是否a.txt已保存为ANSI编码格式;
2.是否存在不可见字符有区别;
3.用你的原bat测试是否有效。
 楼主| 发表于 2022-12-21 10:56:10 | 显示全部楼层
回复 4# hfxiang


   看错了   我的文件保存成UTF8了     可以了  谢谢
发表于 2022-12-21 11:24:08 | 显示全部楼层
回复 5# idc878787


    如果文本必须为UTF8编码,需要用 Ruby(https://rubyinstaller.org/downloads/)中附带的 gawk 方能有效处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 08:50 , Processed in 0.009788 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表