Potřeboval jsem provézt konverzi několika videí na jiný formát, a jelikož pro daná kodek nešlo u ffmpeg použít vícevláknové zpracování, řešil jsem jak pouštět několik příkazu současně (a tím urychlit celkové zpracování seznamu souborů).
Nejjednodušší postup jsem našel s použitím xargs:
[bash]ls -1 /cesta/soubory* | xargs -n1 -P3 -ISOUBOR ffmpeg -i SOUBOR …[/bash]
- pomocí ls se vyrobí seznam souborů, který se přehodí na xargs
- -n1 určuje kolik záznamů si má xargs vzít najednou (1 je defaultní hodnota)
- -P3 určuje kolik procesů se má pustit (tohle je ten „magický parametr“)
- -I určuje řetězec, který se pak nahradí konkrétním parametrem ze seznamu