Parallel
GNU utilita From Wikipedia, the free encyclopedia
Remove ads
parallel je utilita příkazového řádku pro Linuxové a další Unixové operační systémy, která umožňuje uživateli spouštět shell skripty nebo jiné příkazy paralelně. Utilita je svobodný software, původně ji napsal Ole Tange v Perlu. Je k dispozici za podmínek licence GPLv3.[1]
Remove ads
Použití
Nejběžnějším použitím je nahrazení shellové smyčky, např.:
while read x; do
do_something "$x"
done < list | process_output
za
parallel do_something < list | process_output
kde soubor list
obsahuje vstup pro skript do_something
, a volitelný skript process_output
zpracovává výstup skriptu do_something
.
Utilita parallel umožňuje také:
- seskupení standardního výstupu a standardního chybového výstupu, aby se výstup všech úloh neslil dohromady;
- zachování pořadí výstupu tak, aby byl ve stejném pořadí jako vstup;
- správné zacházení se soubory, jejichž názvy obsahují speciální znaky, jako je mezera, jednoduché či dvojité uvozovky anebo ampersand.
Ve výchozím nastavení utilita pouští paralelně tolik úloh, kolik má CPU jader.
Remove ads
Příklady
Příkaz find . -name "*.foo" -exec grep bar {} +
je možné za použití utility parallel nahradit příkazem find . -name "*.foo" | parallel grep bar
, který úlohu bude provádět paralelně.
Reference
Související články
Externí odkazy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads