GNU paralelní - GNU parallel - Wikipedia
tento článek příliš spoléhá na Reference na primární zdroje.Září 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | Projekt GNU |
---|---|
Stabilní uvolnění | 20191122[1] / 22. listopadu 2019 |
Úložiště | |
Napsáno | Perl |
Operační systém | GNU |
Typ | Užitečnost |
Licence | GPLv3 |
webová stránka | https://savannah.gnu.org/projects/parallel/ www |
GNU paralelní je příkazový řádek řízený nástroj pro Linux a další Unixový operační systémy, které umožňují uživateli provádět skořápka skripty nebo příkazy paralelně. GNU paralelní je svobodný software, napsal Ole Tange v Perl. Je k dispozici za podmínek GPLv3.[2]
Používání
Nejběžnějším použitím je například výměna smyčky prostředí
pro x v `seznam koček` ; dělat dělej něco "$ x"Hotovo | process_output
do podoby
seznam koček | paralelní do_something | process_output
kde je soubor seznam
obsahuje argumenty pro dělej něco
a kde process_output
může být prázdný.
Skripty používající paralelně jsou často čitelnější než skripty používající pexec.
Program má také paralelní funkce
- seskupení standardní výstup a standardní chyba takže výstup paralelně běžících úloh neběží společně;
- zachování pořadí výstupu, aby zůstalo stejné pořadí jako vstup;
- pěkné zacházení se jmény souborů, které obsahují speciální znaky, jako je mezera, jednoduchá uvozovka, dvojitá uvozovka, ampersand a znaky kódované v UTF-8;
Ve výchozím nastavení paralelně běží tolik úloh paralelně, kolik je Jádra CPU.
Příklady
najít. -název „* .foo“ | paralelní grep bar
Výše uvedené je paralelní ekvivalent:
najít. -název „* .foo“ -exec grep bar {} +
Toto prohledá všechny soubory v aktuálním adresář a jeho podadresáře, jejichž název končí na .oo
pro výskyty tětiva bar
. Paralelní příkaz bude fungovat podle očekávání, pokud název souboru nebude obsahovat nový řádek. Aby se zabránilo tomuto omezení, je možné použít:
najít. -název „* .foo“ -tisk0 | paralelní -0 grep bar
Výše uvedený příkaz používá nulový znak oddělit názvy souborů.
najít. -název „* .foo“ | paralelní -X mv {} / tmp / koš
Výše uvedený příkaz se rozšíří {}
s tolika argumenty, kolik dovoluje délka příkazového řádku, a v případě potřeby je rovnoměrně rozdělit mezi paralelní úlohy. To může snížit režii procesu u krátkodobých příkazů, jejichž dokončení trvá kratší dobu než spuštění.
najít. -maximální hloubka 1 -typ f -jméno „* .ogg“ | paralelní -X -r cp -v -p {} / home / media
Výše uvedený příkaz funguje stejně jako:
cp -v -p * .ogg / home / media
Bývalý příkaz, který však používá nalézt
/paralelní
/str
je efektivnější z hlediska zdrojů a nezastaví se s chybou, pokud je rozšíření * .ogg pro shell příliš velké.
Viz také
Reference
- ^ Tange, Ole (22. listopadu 2019). „GNU Parallel 20191122 („ Quantum Supremacy “) vydáno [stabilní]“. paralelní (Poštovní seznam).
- ^ "GNU Parallel". GNU.org.