xargs

A Wikipédiából, a szabad enciklopédiából

Az xargs egy Unix parancs, mely beolvas és végrehajt egy parancssort a standard inputról .

Használata[szerkesztés | forrásszöveg szerkesztése]

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]]

A xargs helyközökkel (esetleg aposztróffal, idézőjellel, vagy backslashsel együtt) vagy új sor karakterekkel elválasztott argumentumokat olvas a standard inputról, és végrehajtja a parancsot (az alapértelmezés /bin/echo) ahányszor valamilyen argumentumokkal követett initial-argumentumot olvas a standard inputról. A standard inputról érkező üres sorokat nem veszi figyelembe.

Visszatérési értékek[szerkesztés | forrásszöveg szerkesztése]

  • 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 parancsot megölték egy jellel
  • 126 ha a parancs nem tud futni
  • 127 ha nem találja a parancsot
  • 1 ha valamilyen más hiba történt.

Opciók[szerkesztés | forrásszöveg szerkesztése]

  • --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 beolvasoott 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ó) tullépi.

  • --max-procs=max-procs, -P max-procs

Egyidõben legfeljebb max-procs-nyi process-t futtat, az alapértelmezes 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[szerkesztés | forrásszöveg szerkesztése]

find . -name "*.foo" | xargs grep bar

A felső példa egyenértékű a következővel:

grep bar `find . -name "*.foo"`

Lásd még[szerkesztés | forrásszöveg szerkesztése]