xargs

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Hári Zalán (vitalap | szerkesztései) 2021. május 11., 10:42-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól.

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


Kapcsolódó szócikkek