有人可以帮我整理这个肮脏的单行代码并实现并行性吗?
find . -name "*.php" -exec rename 's/.php$/.txt/' '{}' ; && chown www-data:www-data -R * && chmod 0755 -R * && find . -name "*.html" -exec rename 's/.html$/.txt/' '{}' ; && find . -name ".htaccess" -delete
将并行性添加到一组 I/O 绑定任务只会在并行任务共享同一 I/O 通道时使其变慢。(提示:他们在这里这样做。
您可以在此处执行的唯一有用的优化是减少遍历同一目录树的次数。
find . -exec chown www-data:www-data {} ;
-exec chmod 0755 {} ;
( -name "*.php" -exec rename 's/.php$/.txt/' '{}' ;
-o -name "*.html" -exec rename 's/.html$/.txt/' '{}' ;
-o -name ".htaccess" -delete )
这仍然可以调整,但例如,与将五个目录遍历减少到一个相比,避免chown
您知道要删除的文件是小土豆。