xargs

xargs je standardní příkaz v operačních systémech un*xového typu. Je užitečný, když je potřeba předat programu velké množství parametrů.

Do verze linuxového jádra 2.6.23 nebylo možné poslat příkazům libovolně dlouhou příkazovou řádku, proto xargs rozděloval předané informace do dostatečně malých příkazů.[zdroj⁠?!]

Funkce

Příkaz načítá na standardním vstupu seznam parametrů, které pak předá svému argumentu.

Příklad použití příkazu xargs:

$ find ~/scriptz/ -type f -name "*.bak" | xargs rm

Tento příkaz vymaže v uvedeném adresáři všechny soubory, které mají příponu .bak.

Volba -n nebo -L (bere (neprázdné) řádky jako celek) omezuje počet argumentů, např.:

$ seq 10 | xargs -n 3 echo
1 2 3
4 5 6
7 8 9
10
$ cat > soubor
a b c
d e
f
^D
$ cat soubor | xargs -n 2 echo
a b
c d
e f
$ cat soubor | xargs -L 2 echo
a b c d e
f

Volba -I umožňuje „pojmenovat“ argument (v takovém případě se bere vždy po jednom), což se hodí, pokud je použit nikoliv na konci příkazu, např.:

$ seq 3 | xargs -I {} echo {}. test
1. test
2. test
3. test

Volba -t napřed vždy vypíše (na stderr) zkonstruovaný příkaz.

Odkazy

Externí odkazy

  • xargs – construct argument lists and invoke utility — The Open Group Base Specifications Issue 8, IEEE Std 1003.1-2024 (anglicky)

Související články

  • Parallel