gpt4 book ai didi

linux - 提高删除窗口行结尾的 Bash 循环的性能

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:00 24 4
gpt4 key购买 nike

编者注:这个问题总是关于循环性能,但是最初的标题让一些回答者和投票者相信它是关于如何删除 Windows 行结尾。

下面的 bash 循环只是删除了 windows 行结尾并将它们转换为 unix 并且似乎正在运行,但速度很慢。输入文件很小(4 个文件,从 167 字节到 1 kb 不等),并且都是相同的结构(名称列表),唯一不同的是长度(即一些文件有 10 个名称,其他文件有 50 个)。使用至强处理器完成此任务是否需要 15 分钟以上的时间?谢谢:)

for f in /home/cmccabe/Desktop/files/*.txt ; do
bname=`basename $f`
pref=${bname%%.txt}
sed 's/\r//' $f - $f > /home/cmccabe/Desktop/files/${pref}_unix.txt
done

输入 .txt 文件

AP3B1
BRCA2
BRIP1
CBL
CTC1

编辑

这不是重复的,因为我更多的是想问为什么我的 bash 循环使用 sed 删除窗口行尾运行得这么慢。我并不是要暗示如何删除它们,而是在寻求可能加快循环速度的想法,我得到了很多。谢谢 :)。我希望这会有所帮助。

最佳答案

使用实用程序 dos2unixunix2dos 在 unix 和 windows 风格的行尾之间进行转换。

关于linux - 提高删除窗口行结尾的 Bash 循环的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com