Esempiu Usos di u Cumandante "Xargs"

Descrizzione è Intruduzioni

U cumandamentu ghjargs hè tipicatu in a linea di cummandu chì a pruduzzioni di un cumanda hè passata cum'è ingaghjati di cuntribuisce à un altru cumandante.

In parechji casi, senza cumandamentu speciale cum'è perchè hè necessariu per cumprà l'esempiu, chì l'operatore "pipe" è "redireczione" operanu a stessa transazzione. In ogni casu, quarchi sò quistioni cù i canali di basa è di u mecanismu di reurientazione, per esempiu, si argumintazzioni cuntene spazzi, chì u superiore.

Inoltre, i ghjargs executa u menghjulu especificatu ripetitumente, se ne necessariu, per prucessa tutte l'argumenti datu. In fatti, pudete spiegà quantu argumentu devenu esse leghje u risordu di l'entrée statistique cada volta chì i ghjargs execute l'ordine especificatu.

In generale, u cumandimu chjamate si deve aduprà l'uparazione di un cumandamentu esse utilizatu com'è parte di l'opzioni o l'argumenti di un secunimu cumandariu a quale aduprate a data (utilizandu l'operatore di canna "|"). U piping regiu hè abbastanza bè chì i dati si sò pensati à esse l'ingestazione (standard) di u secunimu cumanda.

Per esempiu, si utilizate l'ordine di ls per generà una lista di nomi di scrittori è cartulari, è puderà chjappà stu listu in u cumandimu cumandante chì eseguisce l' ecu , pudete specifià quante nomi di scrittori o nomi di scrittori sò procesati da ecu in ogni iterazione cum'è siguenti :

ls | xargs -n 5 echo

In questu casu, l' ecu riceve cinque schedari o direttori à un tempu. Perchè echju aghjunghjenu un caratteru novu à u ghjornu, cinque nomi sò scritti nantu à ogni linea.

Se eseguite un cumandamentu chì torna un grande numarose impurtativi (per esempiu, nomi di scrittori) chì sò trasmessi à l'altru mandatu per un processatu di più, hè una bona idea di cuntrullà a quantità massima d'argumenti chì u cumandu di u cumandru riceve per evità a crescita è crashing.

E seguenti partìciule di cummandu a partita di nomi di archivi pruduciutu da truvate i gruppi di 200 prima avè passatu à u cumandru cp , chì e cogliu à u regnu di salvezza .

truverete. / -pepe f -name "* .txt" -print | xargs -l200 -i cp -f {} ./backup

L'elementu "" / "in u cumandru trova specifica u direttu per circà a ricerca. U duminiu "-pepe f" restrite a ricerca à i schedari, è a "-name" * .txt "scura più filtru qualcosa chì ùn hà micca un estensu" .txt ". A -i bandera in i signa chì a { } A notazione rappresenta u nome di u schedariu di u vaporizzariu.

U cumandimu seguitu hà scupertu i schedari chjamati core in u suttu à u / timpicà / tmp è abbandunate.

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

Avete chì questu travaglià incorrectly s'ellu ci sò qualsiasi nomi di filenzu chì cuntenenu cumpiuteri, cuncerti singuli o duppuli, o spazi. A versione chì seguita prucessa i nomi di u filename per quessa chì u persone di schedariu o annuariu cuntenenu quotes singuli o duppuli, spazii o novità sò stati trattati correctament.

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

Invece di l'opció -i pudete puru aduprà a bandiera -I chì specifica a stringa chì hè sustituuta da a linea di a linea in l'argumintazzioni di cumanda comu in questu esempiu:

ls dir1 | xargs -I {} -t mv dir1 / {} dir / {} / code>

A catene di reposizione hè definitu com'è "{}". Questu significa chì qualsiasi occorrenzii di "{}" in l'argumintazzioni di cumanda hè sustituitu da l'elementu d'ingaghjamentu trasmessu a args through the pipe operation. Questu permette di circà l'elementi di ingressu in pusizioni specifichi in l'argumenti di u cumandimu à esse (ripetitumente) esercitu.