[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 请问批处理批量改文件内容,怎样速度快?

比如有很多个txt,每行里的aaa需要替换成bbb
请问,用sed或gawk替换,速度上算快还是慢
用bat、pwsh或其他方式写这种批量替换,是否有速度更快的方式,多谢

本帖最后由 wanghan519 于 2024-3-6 08:03 编辑

第一反应写的是sed,但用的是busybox.exe所以有点慢
  1. sed -i 's/aaa/bbb/' *.txt
复制代码
之后用powershell读取后逐行处理,很慢
但改为整个文件读入,一次替换后,速度还不错
就想知道,对于这种规则很简单的替换,是否能写更快的替换

TOP

回复 1# wanghan519


    请找5到10个测试文件,打包上传到网盘,我试试。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 wanghan519 于 2024-3-6 10:55 编辑

回复 3# Batcher


    感谢大佬的关注

我整理了目前的尝试,代码都在bat文件里,其中第一句是从论坛上抄来的
目的是删除所有时间结尾处的毫秒数

pwsh是用foreach读取每个文件,用replace替换再写回去
要不就是用第三方exe,busybox.exe和sd.exe都是从github下载的
实在写不来纯bat,也不知道有没有算法,目前第三方工具sd最快。。。

附件 http://wils.3vhost.club/test.zip
https://pan.baidu.com/s/1n1Rhy1YgW1AWimuxwaVxfw?pwd=4sq4
4sq4

TOP

返回列表