xargs
Ezt a szócikket át kellene olvasni, ellenőrizni a szöveg helyesírását és nyelvhelyességét, a tulajdonnevek átírását. Esetleges további megjegyzések a vitalapon. |
Az xargs egy Unix parancs, mely beolvas és végrehajt egy parancssort úgy, hogy a parancs paramétereit a standard inputról veszi.
Használata
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.
Visszatérési értékek
- 0, ha sikeres volt a művelet
- 123, ha bármelyik parancs 1-125-ig terjedő értékkel tért vissza
- 124, ha a parancs 255-ös értékkel tért vissza
- 125, ha a parancs processzét kilőtték egy szignállal
- 126, ha a parancs nem indítható
- 127, ha nem találja a parancsot
- 1, ha valamilyen más hiba történt.
Opciók
- --null, -0
A beolvasott fájlok null-karakterre végződnek 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 whitespace-t, idézőjelet vagy backslash-eket tartalmazhatnak. A GNU find -print0 opciója ennek a módnak megfelelő 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 kivü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 xargs 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. Idező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, amig 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 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, belé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
Kiirja a parancssort a standard error outputra mielőtt végrehajtaná.
- --version
Kiirja 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 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.
Példák
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 xargs 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.
Jegyzetek