Movatterモバイル変換


[0]ホーム

URL:


Sari la conținut
Wikipediaenciclopedia liberă
Căutare

xargs

De la Wikipedia, enciclopedia liberă

ComandaUNIXxargs este folosită pentru a trimite sistemului un număr mare de argumente într-o comandă oarecare. Multe sisteme UNIX acceptă un număr limitat de argumente pe linia de comandă, xargs este folosită pentru a sparge lista de argumente în subliste, astfel încât numărul de argumente este acceptat de sistem. ÎnLinux, suportul pentru un număr arbitrar de argumente a fost introdus înkernel 2.6.23.[1]


Sintaxă

[modificare |modificare sursă]
xargs [opțiuni] [argumentele originale ale comenzii]


Exemple

[modificare |modificare sursă]

Dacă următoarea comandă depășește numărul de argumente acceptate de sistem

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

putem folosi xargs ca să spargem aceste argumente într-o listă. Fiecare argument din listă este trimis independent comenziigrep:

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

Similar cu exemplul precedent, pornim însă editorulvi în locul luigrep:

find . -name "*.foo" | xargs -0 -t -r vi


Problema separatorului

[modificare |modificare sursă]

Multe comenzi UNIX au fost concepute pentru prelucrarea textului la nivel de linie. Aceste comenzi funcționează bine cu xargs cât timp liniile nu conțin caracterele '," sau spațiu. Unele programe folosesc NULL pe post de separator de recorduri (de exempluperl care folosește \0 în loc de \n).[2]

Problema este ilustrată în exemplul următor:

touch 'not important_file'ls not* | xargs rm

Dacă rulăm acest exemplu, fișierulnot important_file nu va fi șters datorită spațiului gol din nume.

O alternativă echivalentă cu find însă orientată pentru procesarea de linii esteGNU Parallel. Astfel, dacă înlocuim în exemplul de mai susfind cuparallel, exemplul va funcționa corespunzător.[3]


Note

[modificare |modificare sursă]
  1. ^GNU Core Utilities FAQ
  2. ^Google search showing people forgetting -0
  3. ^http://www.gnu.org/software/parallel/


Legături externe

[modificare |modificare sursă]
  • enPagina de manual
  • enxargs Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group


 v  d  m Programe înlinia de comandă pentruUnix (mai multe)
Gestionare de fișiere:cat |cd |chmod |chown |chgrp |cksum |cmp |cp |du |df |file |fsck |ln |ls |lsof |mkdir |mount |mv |pwd |rm |rmdir |split |touch
Gestionare de procese:at |chroot |cron |exit |kill |killall |nice |pgrep |pidof |pkill |ps |pstree |sleep |time |top |wait
Gestionare de utilizator/mediu:env |finger |id |mesg |passwd |su |sudo |uname |uptime |w |wall |who |whoami |write
Procesare text:awk |comm |cut |ed |ex |fmt |head |iconv |join |less |more |paste |sed |sort |tac |tail |tr |uniq |wc |xargs
ProgramareShell:basename |echo |expr |false |printf |test |true |unsetImprimare:
lp
Communicații:
inetd |netstat |ping |rlogin |traceroute
Căutare:
find |grep |strings
Diverse:
banner |bc |cal |dd |man |size |yes
Adus de lahttps://ro.wikipedia.org/w/index.php?title=Xargs&oldid=12027264
Categorii:

[8]ページ先頭

©2009-2026 Movatter.jp