Board logo

标题: [文本处理] 请问批处理批量改文件内容,怎样速度快? [打印本页]

作者: wanghan519    时间: 2024-3-6 07:54     标题: 请问批处理批量改文件内容,怎样速度快?

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

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

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

回复 1# wanghan519


    请找5到10个测试文件,打包上传到网盘,我试试。
作者: wanghan519    时间: 2024-3-6 10:31

本帖最后由 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




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2