Umzekelo Ukusetyenziswa kwe "Xargs" Command

Inkcazo kunye nesingeniso

Umyalelo we- xargs usetyenziswa kumgca womyalelo apho umphumo womyalelo owodwa udluliselwa njengeengxoxo zengxoxo komnye umyalelo.

Kwiimeko ezininzi, akukho myalelo okhethekileyo onjengo-xargs ofunekayo ukuze ufeze oko, kuba "abenzi bombhobho" kunye nabaqhubi be-"redirection" benza uhlobo olufanayo lokuthengiselana. Nangona kunjalo, ngamanye amaxesha kukho imicimbi kunye neendlela ezisisiseko zokupakisha nokubuyisela umzekelo, umzekelo, ukuba iingxabano ziqulethe iindawo, ukuba i-xargs iyanqoba.

Ukongezelela, i-xargs iqhuba umyalelo ocacisiweyo ngokuphindaphindiweyo, ukuba kuyimfuneko, ukucwangcisa zonke iingxabano ezinikezelweyo. Enyanisweni, ungacacisa ukuba zininzi iimpikiswano ezifanele zifundwe ngaphandle komgca wokufakelwa okuqhelekileyo ngexesha xargs liqhuba umyalelo ochaziweyo.

Ngokuqhelekileyo, umyalelo we-xargs kufuneka usetyenziswe ukuba umyalelo womyalelo omnye kufuneka usetyenziswe njengenxalenye yeenketho okanye iziphakamiso zomyalelo wesibini apho i-data isakazwa khona (usebenzisa umqhubi wepayipi "|"). Ukubethelwa ngokuthe rhoqo kwaneleyo ukuba idatha ijoliswe ukuba ibe yi-input (standard) yomyalelo wesibini.

Umzekelo, ukuba usebenzisa i- ls umyalelo wokuvelisa uludwe lwamagama weefayile kunye neenkcukacha, uze ubhawule olu luhlu kumyalelo we-xargs owenza i- echo , ungacacisa ukuba mangaphi amagama eefayile okanye amagama ekhomputha aqhutywe ngokuchaneka kwi-iteration nganye ngale ndlela : I

ls | xargs -n 5 echo

Kule meko, u- echo ufumana iifayile ezihlanu okanye amagama olawulo ngexesha. Ekubeni i- echo idibanisa umgca we-line-line ekugqibeleni, amagama amahlanu abhaliweyo kumgca ngamnye.

Ukuba uqhuba umyalelo obuyisela izinto ezinkulu kunye ezingenakuqikelelwa (umzekelo, amagama eefayile) ezidluliselwa komnye umyalelo wokuqhubela phambili umgaqo omuhle ukulawula inani eliphezulu leengxoxo ezifunyenwe ngumyalelo wesibini ukuphepha ukugqithisa nokuphazamiseka.

Umgca womyalelo olandelayo uhlukanisa umgca wegama leefayile eziveliswe ngokufumana amaqela angama-200 ngaphambi kokudluliselwa kumyalelo we- cp , owafakela kwi-directory yokugcina .

fumana ./ -type f -name "* .txt" -print | | xargs -l200 -i cp -f {} ./coca

Isalathisi "./" kumyalelo wokufumana sicacisa i-directory yangoku yokukhangela. Ingxabano "-type f" ivumela ukukhangela kwiifayile kunye ne "-name" * .txt "fakela ifayile engenawo" .txt "isandiso. I-iiflegi kwiimpawu ze-xargs ukuba { } ukuqaphela ukumela igama ngalinye lefayile yesitya.

Umyalelo olandelayo ufumanisa iifayile ezibizwa ngokuba ngumxholo ongundoqo okanye ngaphantsi kwirekhodi / tmp kwaye ususa.

fumana / tmp-igama lomxholo -type f -print | | xargs / bin / rm -f

Qaphela ukuba oku kuya kusebenza ngokungalunganga ukuba kukho na iifayile ezineenkcukacha ezintsha, izicatshulwa zodwa okanye eziphindwe kabini, okanye iindawo. Incwadana elandelayo yenza iinkqubo zeefayile ngendlela efana nefayili okanye amagama olawulo oluqulethe izicaphuni ezingatshatanga okanye eziphindwe kabini, izikhala okanye iilwimi ezinokusetyenziswa kakuhle.

fumana / tmp-igama lomxholo -type f -print0 | xargs -0 / bin / rm -f

Esikhundleni se-- iyi- option ongayisebenzisa kwakhona -Iflegi ecacisa umtya otshintshwa ngumgca wokufakelwa kwiingxoxo zomyalelo njengolu mzekelo:

ls1 | xargs -I {} -t mv dir1 / {} dir / {} / ikhowudi>

Umtya wokutshintsha uchazwa ngokuthi "{}". Oku kuthetha ukuba, naziphi na iziganeko ze "{}" kwimigqaliselo yomyalelo ithatyathelwe yinto yokufakelwa idluliselwe kwi- args ngokusebenzisa ukusebenza kombhobho. Oku kukukunceda ukuba ufake izinto zokufakelwa kwiindawo ezizodwa kwiingxoxo zomyalelo wokuba (ngokuphindaphindiweyo) wenziwe.