我正在尝试这个代码:
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}
来清除对sed
和tr
的调用。在你的情况下,它可能看起来像:
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/