注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» [已解决]如何使用文本工具进行整行去重、首列排序
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
aloha20200628
发短消息
加为好友
aloha20200628
当前离线
UID
105859
帖子
365
精华
0
积分
627
PB
378
技术
83
捐助
0
阅读权限
30
在线时间
175 小时
注册时间
2021-10-13
最后登录
2024-5-1
少尉
帖子
365
积分
627
技术
83
捐助
0
注册时间
2021-10-13
1
楼
跳转到
»
发表于 2023-6-5 12:27
|
显示全部帖子
用变量是否已被定义来判断目标数据‘有无’,的确是纯P的一款利器,但受限于cmd总内存卡在64MB,有时可能也会打爆cmd,例如用其对应数万+行数据时... 参见》
http://www.bathome.net/thread-29022-1-1.html
本帖的另一趣点是文本行去重。看过国内外有关网站的很多老帖,用纯P解决文本行去重的经典招数,还是那个 awk 句式,简洁漂亮高效!
awk.exe "!existLines[$0]++" inF.txt>outF.txt
虽然其算法用纯P或vbs或js均可实现,但动态编码与静态编码之比的运行效率显然是立见高下...
TOP
aloha20200628
发短消息
加为好友
aloha20200628
当前离线
UID
105859
帖子
365
精华
0
积分
627
PB
378
技术
83
捐助
0
阅读权限
30
在线时间
175 小时
注册时间
2021-10-13
最后登录
2024-5-1
少尉
帖子
365
积分
627
技术
83
捐助
0
注册时间
2021-10-13
2
楼
发表于 2023-6-9 12:33
|
显示全部帖子
既然LZ的主旨是要用纯P组织流程与控制,用高效第三方工具作任务执行,就用awk+sort的组合拳了。
从本站下载 sort.exe v2.1/v7.6 两个版皆可,最好更名调用(如_sort.exe)以免和系统内置款冲突。
例如》 _sort -k 1 -t ";" inF.txt>outF.txt
上式中的参数-k指定仅对第1列排序,参数-t指定各列分隔符为分号,默认是空格。
TOP
aloha20200628
发短消息
加为好友
aloha20200628
当前离线
UID
105859
帖子
365
精华
0
积分
627
PB
378
技术
83
捐助
0
阅读权限
30
在线时间
175 小时
注册时间
2021-10-13
最后登录
2024-5-1
少尉
帖子
365
积分
627
技术
83
捐助
0
注册时间
2021-10-13
3
楼
发表于 2023-6-9 21:19
|
显示全部帖子
看来满足LZ的特殊要求还须一个参数 -s 帮忙,订正为下式即可 》
_sort -s -k 1,1 inF.txt>outF.txt
再分享一个有关 _sort.exe 的趣点,单用(必须是单用!)一个参数 -u 还可去重,如下式》
_sort -u inF.txt>outF.txt
如此,去重+排序 可被 _sort.exe 一举拿下...
1
评分人数
77七:
乐于助人
技术 + 1
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]