Jak používat příkaz xargs v systému Linux
Pomocí nástroje xargs v systému Linux můžete převést standardní vstupy na příkazy a přímo je použít. Nástroj xargs se v systému Linux nepoužívá příliš často, ale může výrazně zjednodušit některé procesy.
Co je příkaz xargs v systému Linux?
xargs („rozšířený argument“) je jeden z příkazů Linuxu, který uživatelé používají zřídka nebo vůbec. Tento příkaz však může výrazně zjednodušit práci a dokonce pomoci zvýšit výkon počítače. Zjednodušeně řečeno, Linux xargs propojuje dva příkazy, vyhodnocuje výstup jednoho z nich a výsledky aplikuje na druhý. To je užitečné při zpracování velkého počtu souborů a opakovaném provádění určitých úkolů.
xargs je součástí většiny distribucí Linuxu, jako je Debian nebo Ubuntu, a není třeba jej instalovat.
Jak funguje xargs?
xargs čte data ze stdin (tj. standardního vstupu) a převádí je na příkazové řádky. Odpovídající příkaz musí být zadán jako parametr nebo argument. Příslušné příkazy jsou poté provedeny jednou nebo několikrát. Pokud nezadáte žádný speciální příkaz jako parametr, xargs automaticky použije příkaz echo systému Linux.
Jaká je syntaxe příkazu xargs v systému Linux?
Chcete-li použít příkaz xargs v terminálu, použijte následující syntaxi:
$ First_command | xargs [Options] [Second_command]bashTo způsobí, že druhý příkaz bude proveden s argumenty prvního příkazu.
Jaké možnosti jsou k dispozici pro příkaz xargs?
Existuje mnoho možností použití příkazu xargs v systému Linux. Zde jsou ty nejdůležitější:
- -0 nebo –null: Tato volba způsobí, že každý znak bude brán doslovně a argumenty budou odděleny znakem NULL.
- -a nebo –arg-file: S touto volbou nejsou argumenty čteny ze standardního vstupu, ale ze souboru.
- -d nebo –delimiter: S touto volbou se oddělení provádí na základě oddělovacího znaku, nikoli mezery. Každý znak je brán doslovně.
- -p nebo –interactive: Tato volba se před provedením každého příkazu zeptá, zda pokračovat.
Příklady použití Linux xargs
Funkčnost příkazu xargs nejlépe ilustrují některé příklady.
$ find -name "*.txt" | xargs rmbashV tomto příkladu použijete xargs s příkazem find a příkazem rm v systému Linux. Výsledkem je, že všechny soubory s příponou .txt budou odstraněny z souborového systému počítače.
$ find -name "*.txt" | xargs grep "invoice"bashNajděte všechny soubory obsahující slovo „faktura“. K tomu můžete také použít příkaz grep v systému Linux.