linux – 加速使用多个find命令的bash脚本

linux – 加速使用多个find命令的bash脚本,第1张

概述我有一个bash脚本将项目的一些文件添加到git,然后同步该分支,随着文件数量的增加,我注意到脚本变得慢得多,所以我想知道我是否正在这样做正确的方法. 这是添加文件的脚本部分: echo "Adding files..."find . -name '*.js' -exec git add {} \;find . -name '*.html' -exec git add {} \;find . 我有一个bash脚本将项目的一些文件添加到git,然后同步该分支,随着文件数量的增加,我注意到脚本变得慢得多,所以我想知道我是否正在这样做正确的方法.

这是添加文件的脚本部分:

echo "Adding files..."find . -name '*.Js' -exec git add {} \;find . -name '*.HTML' -exec git add {} \;find . -name '*.CSS' -exec git add {} \;find . -name '*.py' -exec git add {} \;find . -name '*.txt' -exec git add {} \;find . -name '*.jpg' -exec git add {} \;find . -name '*.sh' -exec git add {} \;echo "Commit"git commit -m "''"

我不确定是否只需要一次调用find就会比拥有所有这些分开的命令更快,但我这样做是因为删除某些类型的文件或添加新文件更简单.

我真的很感激任何建议,以提高效率,以不同的方式使用命令或使用不同的命令是一个完全可以接受的答案.

解决方法
find . \( -name '*.Js'   -o \          -name '*.HTML' -o \          -name '*.CSS'  -o \          -name '*.py'   -o \          -name '*.txt'  -o \          -name '*.jpg'  -o \          -name '*.sh'   \) -exec git add {} +

这意味着您只扫描一次目录结构,这是加速“多次查找”的主要方式;用’one’替换’multiple’.这是一个POSIX 2008的附加功能,可以让它更像是xargs.如果您无法使用它,请考虑使用-print和xargs(或者,如果您可能在名称中有空格并且您有GNU find和xargs,那么-print0和xargs -0,但如果您有,你(可能 – 但看到评论)也有符号).

总结

以上是内存溢出为你收集整理的linux – 加速使用多个find命令的bash脚本全部内容,希望文章能够帮你解决linux – 加速使用多个find命令的bash脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1028742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存