GNU/Linux >> Znalost Linux >  >> Linux

Příklady příkazů xargs v Linuxu

Příkaz xargs čte ze standardního vstupu a provádí příkaz pro každý poskytnutý argument. Každý argument musí být oddělen mezerami. Operátor roury se používá k tomu, aby se výstup prvního příkazu stal vstupem pro druhý příkaz. Příkaz xargs se běžně používá s příkazem find pro práci s každým výsledkem, který je nalezen při hledání souboru nebo adresáře.

Syntaxe

Obecná syntaxe příkazu xargs je:

# command [options] [arguments] | xargs [options] {command}

Řekněme, že chcete smazat všechny soubory v adresáři /foo, které mají příponu .pdf. K automatizaci procesu můžete použít xargs:

# find /foo -type f -name "*.pdf" | xargs rm

Příkaz find vyhledá všechny soubory v /foo, které mají příponu .pdf, a výsledek pak přenese do příkazu xargs. Protože jsou výsledky odděleny mezerou, příkaz xargs provede příkaz rm pro každý soubor ve výsledcích – odstraní všechny soubory PDF v adresáři.

Příkaz xargs má různé možnosti, jak je uvedeno níže:

Možnost Popis
-I {náhradní řetězec} Považujte každý řádek standardního vstupu za jeden argument.
-L {počet řádků} Přečtěte zadaný počet řádků ze standardního vstupu a spojte je do jednoho dlouhého řetězce.
-p Dotázat se uživatele před každým příkazem.
-n {počet argumentů} Přečtěte maximální počet argumentů ze standardního vstupu a vložte je na konec šablony příkazu.
-E {konec řetězce} Představuje konec standardního vstupu.
-t Před provedením příkazu zapište každý příkaz do standardního chybového výstupu.
-s {max size} Nastavte maximální povolenou velikost seznamu argumentů na zadaný počet znaků.

Příklady příkazů xargs

1. Spusťte příkaz s použitím vstupních dat jako argumentů:

# arguments_source | xargs command

2. Spusťte několik zřetězených příkazů na vstupních datech:

# arguments_source | xargs sh -c "command1 && command2 | command3"

3. Smažte všechny soubory s příponou `.backup` (`-print0` používá k rozdělení názvů souborů prázdný znak a `-0` jej používá jako oddělovač):

# find . -name '*.backup' -print0 | xargs -0 rm -v

4. Proveďte příkaz jednou pro každý vstupní řádek a nahraďte všechny výskyty zástupného symbolu (zde označeného jako `_`) vstupním řádkem:

# arguments_source | xargs -I _ command _ optional_extra_arguments

5. Paralelní běh až `max-procs` procesů najednou; výchozí hodnota je 1. Pokud je `max-procs` 0, xargs spustí tolik procesů, kolik je jen možné:

# arguments_source | xargs -P max-procs command


Linux
  1. 11 Příklady příkazů Xargs v Linuxu

  2. 10 Příklady příkazů Xargs v Linuxu / UNIXu

  3. Příklady příkazů rm v Linuxu

  1. Příklady příkazů ps v Linuxu

  2. sa Příklady příkazů v Linuxu

  3. w Příklady příkazů v Linuxu

  1. Příklady příkazů ac v Linuxu

  2. Příklady příkazů df v Linuxu

  3. du příklady příkazů v Linuxu