我正在尝试这个代码:

for f in jobs/UPDTEST/apples* ; do
    nf=`echo $f | sed s:jobs\/::g`
    echo $nf | tr '_' ' '
done > jobs

有750个apples*类型的文本文件。但由于我只是搞乱了文件名-我本以为应该很快-但需要大约5分钟。
有别的办法吗?

最佳答案

您可以使用parameter expansionslike${parameter/pattern/string}来清除对sedtr的调用。在你的情况下,它可能看起来像:

for f in jobs/UPDTEST/apples*; do
    f=${f//jobs\//}
    echo ${f//_/ }
done > jobs

关于bash - 为什么bash for loop慢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17628487/

10-13 09:42