xargs

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

xargs este o comanda de Unix si Unix- operare sisteme și , mai general , de POSIX [1] sisteme , care execută o altă comandă care specifică datele citite de la intrarea standard ca parametri: fiecare citire linie constituie o serie de una sau mai multe parametrii separați prin spații. Puteți specifica un parametru care conține spații încadrându-l între ghilimele sau ghilimele duble sau precedând fiecare spațiu cu o bară inversă și puteți specifica parametrii care conțin ghilimele și ghilimele duble precedându-le cu o bară inversă.

xargs este deosebit de util cu comenzile care acceptă mai multe nume de fișiere ca parametri, de exemplu rm , grep sau cat : în acest fel este posibilă efectuarea procesării pe o listă de fișiere determinate anterior și stocate într-un fișier text sau altfel determinate în o modalitate ușoară, având grijă să specificați numele folosind ghilimele simple, ghilimele duble sau backslash acolo unde este necesar.

xargs remediază, de asemenea, orice limitare a sistemului privind numărul și dimensiunea maximă a parametrilor care pot fi specificate unei comenzi [2] [3] , executându-l de mai multe ori pentru a se încadra în aceste limite.

Sintaxă

Sintaxa generală a xargs este:

 xargs [ opțiuni ] [-] [ comandă [ arg1 ...]]

Parametrul opțional de comandă indică comanda de executat, iar parametrii arg parametrii inițiali ai acestuia. Dacă comanda nu este specificată, este utilizată comanda echo .

Linia dublă - (opțional) indică faptul că următorii parametri nu trebuie considerați opțiuni.

Opțiuni

Printre principalele opțiuni se numără:

-t
Scrie linia de comandă completă în eroarea standard înainte de a o executa.
-p
Solicită utilizatorului confirmarea înainte de fiecare execuție.
- Etichetele
Execută comanda o dată pentru fiecare linie citită, înlocuind eticheta șir din parametrii arg . Acest lucru este util de exemplu pentru comenzi precum mv sau cp , unde destinația este specificată ca ultim parametru.
numărul -n
Execută comanda (în mod repetat, dacă este necesar) cu cel mult numărul specificat de parametri (mai degrabă decât maximul permis de sistem).
dimensiune -s
Execută comanda (în mod repetat, dacă este necesar), astfel încât dimensiunea totală în octeți a liniei de comandă să nu depășească dimensiunea specificată (mai degrabă decât maximul permis de sistem).

Versiunea GNU a xargs vă permite, de asemenea, să specificați un caracter delimitator specific pentru parametri (de exemplu ASCII NUL, 0x00) și, în același timp, să nu considerați speciale ghilimelele, ghilimelele duble și barele interioare, astfel încât să puteți gestiona și parametrii care conțin spații sau alte caractere speciale. Aceasta se combină deosebit de bine cu opțiunea -print0 a versiunii GNU a comenzii find , care separă numele de fișiere cu un caracter ASCII NUL.

Exemple

Pornind de la directorul curent ('.') Se caută recursiv toate obiectele de tip fișier ('-tip f') al căror nume se termină cu '.c' (de obicei fișiere sursă C ) și listează numele fișierelor care conțin șirul foobar ( cu condiția ca numele fișierelor găsite să nu conțină spații, ghilimele sau ghilimele):

 găsi. -tip f -name "* .c" -print | xargs grep -l "foobar"

Elimină fișierele care nu au fost citite de mai mult de 366 de zile folosind versiunea GNU a find și xargs , solicitând confirmarea:

 find / tmp -type f -atime +366 -print0 | xargs -0 -p rm -f -

Notă

  1. ^ (EN) xargs , în Specificațiile de bază ale grupului deschis Numărul 6 IEEE Std 1003.1, ediția 2004. Adus 18.05.2008 .
  2. ^ ( EN ) ARG_MAX (limits.h) , în The Open Group Base Specifications Issue 6IEEE Std 1003.1, ediția 2004 . Adus 19.05.2008 .
  3. ^ (EN) Listă de argumente prea lungă , în GNU Core Utilities Întrebări frecvente. Adus 19.05.2008 .

Elemente conexe

  • găsi (Unix) - Căutare fișiere și directoare care corespund criteriilor de căutare specificate.

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT