多线程查找执行程序

苏丹传奇

是否有某种机制可以使-exec查找使用多个作业?

让我们以这个命令为例

find ./* -exec flac --best {} \;

有什么方法可以设置并发-exec命令的数量,使其比这种解决方案更容易运行:

运行find ./*并将结果保存到文件/管道中,以便将另一条命令分成16个部分(或所需的多个线程),然后在这些命令上运行命令?

苏丹传奇

如果使用xargs,则可以设置工作程序数

find . -type f -print0|xargs -0 -P 16 -I % opusenc --bitrate 256 % %.opus

xargs -P 16

(由于我很难在网上找到更多详细信息或难以理解手册页部分)

它一次输入16个命令,或传递给-P的数字。


对于我的命令,我试图将cd音乐文件的一个有组织的文件夹[artist / album / music file]转换为opus。这是一个复制的文件夹,所以我想删除原稿。因此,比我使用的命令更好的命令是

find . -type f -print0|xargs -0 -P 16 -I % sh -c 'opusenc --bitrate 256 % %.opus; rm %'

转换后,原始文件将被删除。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章