Provided by: manpages-fr-extra_20111118_all bug

NOM

       xargs  -  Construire  et  executer  des lignes de commandes a partir de
       l'entree standard

SYNOPSIS

       xargs -0prtx]  [-E  cha^ine-fin-de-fichier]  [-e[cha^ine-fin-de-fichier]]
       [--eof[=cha^ine-fin-de-fichier]]  [--null]  [-d d'elimiteur] [--delimiter
       d'elimiteur]    [-I    cha^ine-remplacement]    [-i[cha^ine-remplacement]]
       [--replace[=cha^ine-remplacement]]      [-l[nombre-max-lignes]]      [-L
       nombre-max-lignes]        [--max-lines[=nombre-max-lignes]]         [-n
       nombre-max-params]          [--max-args=nombre-max-params]          [-s
       nombre-max-caract`eres]     [--max-chars=nombre-max-caract`eres]      [-P
       nombre-max-procs]     [--max-procs=nombre-max-procs]    [--interactive]
       [--verbose]    [--exit]    [--no-run-if-empty]     [--arg-file=fichier]
       [--show-limits] [--version] [--help] [commande [param`etres_initiaux]]

DESCRIPTION

       Cette  page  de manuel documente la version GNU de xargs. xargs lit des
       elements delimites par  des  blancs  (pouvant  etre  proteges  par  des
       apostrophes,  des guillemets ou un antislash) ou par des sauts de ligne
       depuis l'entree standard, et execute une ou plusieurs fois la  commande
       (/bin/echo  par defaut) en utilisant les param`etres_initiaux suivis des
       parametres lus depuis l'entree standard. Les lignes blanches en  entree
       sont ignorees.

       Parce que les noms de fichiers Unix peuvent comporter des blancs et des
       caracteres de saut de ligne, ce comportement par  defaut  pose  souvent
       des  problemes ;  les  noms de fichiers qui comportent des blancs et/ou
       des caracteres de saut de ligne sont traites de maniere incorrecte  par
       xargs.  Dans  ces  situations, il est preferable d'utiliser l'option -0
       qui permet d'eviter ce genre de problemes. Lorsque l'on  utilise  cette
       option,  il  faut  s'assurer que le programme qui produit l'entree pour
       xargs utilise aussi un caractere nul comme separateur. Si ce  programme
       est GNU find par exemple, l'option -print0 le fera pour vous.

       Si  l'appel  de  la  commande se termine avec un code d'etat 255, xargs
       s'arretera immediatement sans lire davantage les  parametres  d'entree.
       Si  cela  se  produit,  un  message  d'erreur  est  emis vers la sortie
       d'erreur standard (stderr).

OPTIONS

       --arg-file=fichier
       -a fichier
              Lire les donnees  depuis  fichier  plutot  que  depuis  l'entree
              standard. Si vous utilisez cette option, stdin restera inchangee
              lors de l'execution de la commande. Sinon, stdin  est  redirigee
              depuis /dev/null.

       --null
       -0     Les  noms  des  fichiers d'entree sont termines par un caractere
              nul au lieu d'une espace blanche, et les apostrophes, guillemets
              et  antislashs  n'ont  pas de signification particuliere (chaque
              caractere est utilise litteralement). Desactive la chaine de fin
              de  fichier,  qui  est traitee comme tout autre parametre. Utile
              quand des arguments sont susceptibles de  contenir  des  espaces
              blanches,  des marques de protection ou des antislashs. L'option
              -print0 de GNU find produit une sortie convenant a ce mode.

       --delimiter=d'elimiteur
       -d d'elimiteur
              Les elements en entree sont termines par le  caractere  indique.
              Les  apostrophes,  les  antislashs  n'ont  pas  de signification
              particuliere ;   chaque   caractere   en   entree    est    pris
              litteralement.  Desactive  la  chaine  de fin de fichier qui est
              traitee comme n'importe quel autre  parametre.  Ceci  peut  etre
              utilise   lorsque   l'entree  ne  consiste  qu'en  des  elements
              simplement separes par un caractere de saut de ligne, bien qu'il
              soit la plupart du temps preferable de concevoir votre programme
              de facon a ce qu'il utilise --null lorsque  c'est  possible.  Le
              separateur  indique  peut etre un caractere unique, un caractere
              de despecification de  style  C  tel  que  \n,  ou  un  code  de
              despecification    octal    ou   hexadecimal.   Les   codes   de
              despecification octaux ou hexadecimaux sont  interpretes  de  la
              meme   maniere   qu'avec  la  commande  printf.  Les  caracteres
              multi-octet ne sont pas geres.

       -E cha^ine-fin-de-fichier
              Definir la chaine de fin de fichier a cha^ine-fin-de-fichier.  Si
              la  chaine  de fin de fichier se trouve dans une ligne d'entree,
              le reste de l'entree est ignore. Si on n'utilise ni -E ni -e, on
              n'utilise aucune chaine de fin de fichier.

       --eof[=cha^ine-fin-de-fichier]
       -e[cha^ine-fin-de-fichier]
              Cette  option  est  un  synonyme  de  l'option  -E.  Utiliser de
              preference -E parce qu'elle est conforme a la norme POSIX  alors
              que  cette  option  ne  l'est  pas. Si cha^ine-fin-de-fichier est
              omis, il n'existe pas de chaine de fin de fichier. Si aucune des
              options -E et -e n'est utilisee, aucune chaine de fin de fichier
              n'est utilisee.

       --help Afficher un resume des options de xargs et quitter.

       -I cha^ine-remplacement
              Remplacer  les  occurrences  de  cha^ine-remplacement  dans   les
              parametres initiaux par les noms lus sur l'entree standard. Dans
              ce cas, les blancs non proteges ne  sont  pas  consideres  comme
              terminant les items en entree. Implique -x et -L 1.

       --replace[=cha^ine-remplacement]
       -i[cha^ine-remplacement]
              Cette    option    est   un   synonyme   de   -Ireplace-str   si
              cha^ine-remplacement est indiquee et de -I{} sinon. Cette  option
              est obsolete ; veuillez utiliser -I a la place.

       -L nombre_max_lignes
              Utiliser au plus nombre-max-lignes lignes non vides par ligne de
              commande. Des blancs en fin de  ligne  permettent  a  une  ligne
              logique de se poursuivre sur la ligne suivante. Implique -x.

       --max-lines[=nombre_max_lignes]
       -l[nombre_max_lignes]
              Synonyme  de  l'option  -L.  A  l'inverse  de  -L,  le parametre
              nombre-max-lignes est optionnel. Le parametre  nombre-max-lignes
              vaut  1  par  defaut  s'il  n'est  pas  indique. L'option -l est
              obsolete depuis qu'il a ete remplace par -L dans la norme POSIX.

       --max-args=nombre-max-param
       -n nombre-max-param
              Utiliser  au  plus  nombre-max-param  parametres  par  ligne  de
              commande.  Un  nombre de parametres inferieur a nombre-max-param
              sera utilise si la taille (consultez l'option -s) est  depassee,
              a  moins  que  l'option -x ne soit indiquee, auquel cas xargs se
              terminera.

       --interactive
       -p     Demander a l'utilisateur s'il  faut  executer  chaque  ligne  de
              commande  et  lire une ligne a partir du terminal. N'executer la
              commande que si la reponse  commence  par  << y >>  ou  << Y >>.
              Implique -t.

       --no-run-if-empty
       -r     Si  l'entree  standard ne contient aucun caractere non blanc, ne
              pas executer la commande. Normalement, la commande est  executee
              une  fois  meme  s'il  n'y  a pas d'entree. Cette option est une
              extension GNU.

       --max-chars=nombre-max-caract`eres
       -s nombre-max-caract`eres
              Utiliser au plus nombre-max-caract`eres caracteres par  ligne  de
              commande,  ce qui inclut la commande et les parametres initiaux,
              ainsi que les caracteres nuls de terminaison des chaines passees
              en  parametres.  La valeur maximale autorisee depend du systeme,
              et est calculee d'apres la taille limite  pour  exec,  moins  la
              taille  de  l'environnement, moins 2048 octets pour les entetes.
              Si cette valeur depasse  128 Kio,  la  valeur  par  defaut  sera
              128 Kio ; dans les autres cas, la valeur par defaut correspondra
              au maximum (1 Kio vaut 1024 octets).

       --verbose
       -t     Afficher la ligne de commande sur la  sortie  d'erreur  standard
              avant de l'executer.

       --version
              Afficher le numero de version de xargs et quitter.

       --show-limits
              Afficher  les  limites  de  la  longueur de la ligne de commande
              telle qu'imposee par le systeme d'exploitation,  le  choix  dans
              xargs de la taille du tampon et l'option -s. Redirigez /dev/null
              dans l'entree (en indiquant eventuellement --no-run-if-empty) si
              vous voulez qu'xargs ne fasse rien.

       --exit
       -x     Se terminer si la taille (voyez l'option -s) est depassee.

       --max-procs=nombre-max-procs
       -P nombre-max-procs
              Executer jusqu'a nombre-max-procs processus simultanement (1 par
              defaut).   Si   nombre-max-procs   vaut   0,   xargs   executera
              simultanement   autant   de  processus  que  possible.  Utilisez
              l'option -n avec -P ; sinon, il est  fort  possible  qu'un  seul
              exec soit effectue.

EXEMPLES

       find /tmp -name noyau -type f -print | xargs /bin/rm -f

       Chercher  les fichiers dont le nom est noyau dans le repertoire /tmp et
       ses sous-repertoires, et les effacer.  Rappelez-vous  que  vous  pouvez
       rencontrer des problemes si des noms de fichiers comportent des retours
       a la ligne ou des espaces.

       find /tmp -name noyau -type f -print0 | xargs -0 /bin/rm -f

       Chercher les fichiers qui s'appellent noyau dans le repertoire /tmp  et
       ses  sous-repertoires,  puis les effacer, en veillant a ce que les noms
       de fichiers ou de repertoires qui contiennent des retours a la ligne ou
       des espaces soient correctement traites.

       find /tmp -depth -name noyau -type f -delete

       Rechercher   les  fichiers  nommes  noyau  dans  ou  a  l'interieur  du
       repertoire /tmp et les effacer, mais de facon plus  efficace  que  dans
       l'exemple  precedent (puisqu'on evite l'appel a fork(2) et exec(2) pour
       lancer rm, et que nous n'avons plus besoin du processus  supplementaire
       xargs).

       cut -d: -f1 < /etc/passwd | sort | xargs echo

       Cree une liste compacte de tous les utilisateurs sur le systeme.

       xargs sh -c 'emacs "$@" < /dev/tty' emacs

       Lance  le  nombre  minimum  de  copie  d'Emacs  necessaire  a l'edition
       successives des fichiers listes sur l'entree  standard  de  xargs.  Cet
       exemple  produit  le  meme  resultat que l'option -o de BSD, mais d'une
       maniere plus flexible et portable.

VALEURS DE RETOUR

       xargs se termine avec le code de retour suivant :
       0    s'il reussit
       123  si une invocation de la commande s'est terminee avec une
            valeur de retour comprise entre 1 et 125
       124 si la commande s'est terminee avec une valeur de retour
            de 255
       125  si la commande a ete tuee par un signal
       126  si la commande ne peut etre executee
       127  si la commande n'a pas ete trouvee
       1    si une autre erreur s'est produite.

       Les codes de retour superieurs a 128 sont utilises  par  l'interpreteur
       de commandes pour indiquer une fin de programme due a un signal fatal.

CONFORMIT'E AUX STANDARDS

       Depuis  la  version  4.2.9  de GNU xargs, le comportement par defaut de
       xargs est de ne pas avoir de marqueur logique de  fin  de  fichier.  La
       norme POSIX (IEEE Std 1003.1, 2004 Edition) le permet.

       Les options -l et -i sont apparues dans la version de la norme POSIX de
       1997, mais n'apparaissent plus dans la version 2004 de la  norme.  Vous
       devriez donc utiliser respectivement -L et -I, a la place.

       Le  standard  POSIX  permet des implementations dans lesquels il existe
       une limite sur la taille des parametres fournis aux fonctions exec.  La
       limite  basse de cette taille est de 4096 octets, en incluant la taille
       de l'environnement. Les scripts ne doivent pas compter sur  une  taille
       superieure  afin  d'etre  portables.  Toutefois,  je  ne connais aucune
       implementation actuelle  dans  laquelle  la  limite  est  aussi  basse.
       L'option  --show-limits  peut  vous  permettre de connaitre les limites
       actuelles de votre systeme.

VOIR AUSSI

       find(1),  locate(1),   locatedb(5),   updatedb(1),fork(2),   execvp(3),
       Finding Files (en ligne dans Info, ou en version imprimee)

BOGUES

       L'option  -L est incompatible avec l'option -I, mais elle ne le devrait
       peut-etre pas.

       Il n'est pas possible d'utiliser xargs de maniere sure, car il  y  aura
       toujours  un  intervalle  de  temps  entre la production de la liste de
       fichiers en entree et leur utilisation dans les commandes produites par
       xargs.  Si  d'autres  utilisateurs  ont  acces  au systeme, ils peuvent
       manipuler le systeme de fichiers pendant cet  intervalle  de  temps  de
       facon a forcer les actions des commandes lancees par xargs a s'executer
       sur des fichiers non voulus. Pour une discussion plus detaillee sur  ce
       sujet  et  d'autres  problemes  qui  y sont lies, veuillez consulter le
       chapitre <<\ Security Considerations\ >> dans la documentation  Texinfo
       de findutils. L'option -execdir de find peut souvent etre utilise comme
       alternative plus sure.

       Lorsque vous utilisez l'option -I, chaque ligne lue depuis l'entree est
       mise  en  tampon en interne. Ceci signifie qu'il y a une limite maximum
       pour la longueur  de  la  ligne  que  xargs  peut  accepter  en  entree
       lorsqu'il   est   utilise  avec  l'option  -I.  Pour  contourner  cette
       limitation, vous pouvez utiliser l'option -s pour augmenter  la  taille
       du  tampon  utilise  par  xargs, et vous pouvez aussi utiliser un appel
       supplementaire a xargs afin de vous assurer qu'il n'y a  pas  de  ligne
       trop longue. Par exemple :

       une_commande | xargs -s 50000 echo | xargs -I '{}' -s 100000 rm '{}'

       Ici,  le  premier  appel  a xargs n'a pas de limite de longueur pour la
       ligne d'entree parce que l'option -i n'est pas  utilisee.  Le  deuxieme
       appel  a  xargs  comporte  une  telle limitation, mais nous nous sommes
       assure qu'il ne lui serait jamais soumis une ligne plus longue  que  ce
       qu'il  sait  traiter.  Ce  n'est pas une solution parfaite. Il vaudrait
       mieux que l'option -i n'impose pas de limite a la taille de  la  ligne,
       c'est  pourquoi  cette  discussion  apparait dans la section BOGUES. Le
       probleme ne se produit pas avec la sortie de  find(1)  parce  qu'il  ne
       produit qu'un seul nom de fichier par ligne.

       La  meilleure maniere de signaler un bogue est d'utiliser le formulaire
       sur http://savannah.gnu.org/bugs/?group=findutils. Vous  pourrez  ainsi
       suivre  l'evolution  de  la  resolution  de  votre probleme. Les autres
       commentaires concernant xargs(1) et  le  paquet  findutils  en  general
       peuvent  etre  envoye  a la liste de diffusion bug-findutils. Pour vous
       abonner   a   cette   liste,   veuillez   envoyer   un    courriel    a
       bug-findutils-request@gnu.org.

TRADUCTION

       Cette  page de manuel a ete traduite par Frederic Delanoy <delanoy_f AT
       yahoo DOT com> en 2002.  La version presente dans Debian est dorenavant
       maintenue  par  Jean-Luc Coulon (f5ibh) <jean-luc DOT coulon AT wanadoo
       DOT fr> et les membres de la liste  <debian-l10n-french  AT  lists  DOT
       debian  DOT  org>.  Veuillez signaler toute erreur de traduction par un
       rapport de bogue sur le paquet manpages-fr-extra.

                                                                      XARGS(1)