Find
多執行緒查找執行
是否有一些機制可以讓 -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 $$作品。這是一個複制的文件夾,所以我想刪除原件。因此,比我使用的命令更好的命令是
find . -type f -print0|xargs -0 -P 16 -I % sh -c 'opusenc --bitrate 256 % %.opus && rm %'
轉換後,原始文件被刪除。