Az xargs (az extended arguments, azaz a kiterjesztett vagy kibővített argumentumok angol kifejezés rövidítése) egy Unix-parancs, mely beolvas és végrehajt egy parancssort úgy, hogy a parancs paramétereit a standard inputról veszi.
A parancs általános alakja:
xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-lines]] [-n max-args] [-s max-chars] [-P max-procs] [--null] [--eof[=eof-str]] [--replace[=replace-str]] [--max-lines[=max-lines]] [--interactive] [--max-chars=max-chars] [--verbose] [--exit] [--max-procs=max-procs] [--max-args=max-args] [--no-run-if-empty] [--version] [--help] [command [initial-argumentumok]]
Az xargs
helyközökkel vagy új sor karakterekkel elválasztott argumentumokat olvas a standard inputról, miközben minden beolvasott értékre végrehajtja az előre megadott parancsot (mely tartalmazhat kezdőargumentumokat: initial-arguments), hozzáfűzve a beolvasott értéket plusz argumentumként. A bemenetről érkező üres sorokat nem veszi figyelembe. Helyköz karakternek számít például a szóköz és a tabulátor. A helyközök aposztrófokkal, idézőjelekkel, vagy backslashsel levédhetők.
--null, -0
A beolvasott fájlok null-karakterre végződnek szóköz (whitespace) helyett és az idézőjelek és backspace-ek nem jelentenek semmi különöset (minden karaktert egyformán figyelembe vesz). Letiltja a fájlvége sztringet, amit bármelyik más argumentumhoz hasonlóan kezel. Hasznos, ha az argumentumok szóközt (whitespace), idézőjelet vagy fordított törtvonalt (backslasht) tartalmazhatnak. A GNU find -print0
opciója ennek a módnak megfelelő bemenetet (inputot) produkál.
--eof[=eof-str], -e[eof-str]
A fájlvége sztringet eof-str
-re állítja. Ha a fájlvége sztring egy beolvasott sorban lép fel, az utána következő adatokat figyelmen kívül hagyja. Ha az eof-str
-t elhagyjuk, nincs fájlvége sztring. Ha ezt az opciót nem állítjuk be, a fájlvége sztring automatikusan _
-ra lesz beállítva.
--help
Kiír egy ismertetőt a xarg
opciókról és kilép.
--replace[=replace-str], -i[replace-str]
Az initial-argumentumokban előforduló replace-str
-eket helyettesíti a standard inputrol beolvasott nevekkel. Idézőjel nélküli helyközök nem szüntetik meg az argumentumokat. Ha a replace-str
-t elhagyjuk, alapértelmezésben "{}"-ra lesz beállítva (a find -exec
-hez hasonlóan). Magában foglalja az -x
és az -l 1
kapcsolók hatását.
--max-lines[=max-lines], -l[max-lines]
Legfeljebb max-lines
-nyi nem üres sort olvas be parancssoronként; ha elhagyjuk, az alapértelmezés 1. Helyközök után létrehoz egy input-sort, hogy logikailag a következő input-sornál folytatódjon a beolvasás. Az -x
-et magában foglalja.
--max-args=max-args, -n max-args
Parancssoronként legfeljebb max-args
-nyi argumentumot vesz figyelembe. max-args
-nál kevesebb argumentumot, ha a méretet (ld. -s
opció) túllépi, amíg meg nem adjuk az -x
opciót, amikor is xargs kilép.
--interactive, -p
Bekéri a felhasználótól, hogy végrehajtsa-e mindegyik parancssort és a terminálról olvasson sort. Csak akkor futtatja a parancssort, ha a válasz "y"-nal vagy "Y"-nal kezdődik. A -t
-t magában foglalja.
--no-run-if-empty, -r
Ha a standard input nem tartalmaz semmit, nem futtatja a parancsot. Normális esetben a parancs lefut ahányszor nincs input.
--max-chars=max-chars, -s max-chars
Legfeljebb max-chars
-nyi karaktert vesz figyelembe parancssoronként, beleértve a parancsot, az initial-argumentumokat, és az argumentum-sztringeket lezáró nullákat. Az alapértelmezés olyan sok, amilyen csak lehet, egészen 20K-nyi karakterig.
--verbose, -t
Kiírja a parancssort a standard error outputra mielőtt végrehajtaná.
--version
Kiírja a xargs verziószámát és kilép.
--exit, -x
Kilép, ha a méretet (ld. -s
opció) túllépi.
--max-procs=max-procs, -P max-procs
Egyidőben legfeljebb max-procs
-nyi process-t futtat, az alapértelmezés 1. Ha a max-procs
egyenlő 0, xargs annyi process-t próbál meg egyszerre futtatni, amennyit csak lehetséges. Az -n
és -P
opciók együtt szükségesek ahhoz, hogy ne a véletlenen múljon, hogy csak egyet hajt végre.
find . -name "*.foo" | xargs -d '\n' grep bar
A find
parancs kiírja az aktuális könyvtárban és alkönyvtáraiban található .foo
kiterjesztésű fájlokat a standard kimenetre. Az xarg
parancs a grep bar
kezdetű parancssor végére illeszti a fájlokat. Az eredmény: a fenti sor a .foo
kiterjesztésű fájlokból kikeresi azokat a sorokat, melyekben a bar szó(részlet) szerepel.
Unix parancssoros programok és utasítások | |
---|---|
Fájlrendszer | |
Processzek | |
Felhasználói környezet | |
Szövegkezelés | |
Shell programozás | |
Hálózat | |
Keresés | |
Dokumentáció | |
Egyéb |