Misali Amfani da Dokar "xargs"

Bayani da Gabatarwa

Dokar xargs an yi amfani dashi a cikin layin umarnin inda aka fitar da umarnin ɗaya a yayin da aka shigar da hujjojin zuwa wani umarni.

A lokuta da dama, ba a buƙaci umarni na musamman kamar xargs don cim ma haka ba, tun da "masu tuka" da kuma "maidowa" masu aiki suna yin irin wannan ma'amala. Duk da haka, wasu lokuta akwai matsaloli tare da ainihin motsi da maimaita hanya, misali, idan muhawarar sun ƙunshi sarari, cewa xargs ya rinjaye.

Bugu da ƙari, xargs yana aiwatar da umarnin da aka umurta akai-akai, idan ya cancanta, don aiwatar da dukan gardama da aka ba shi. A gaskiya ma, za ka iya ƙayyade yawancin muhawarar da aka kamata a karanta a kan kowane tashar shigarwa ta kowane lokaci duk lokacin da mahaɗan ke aiwatar da umurnin da aka umurta.

Gaba ɗaya, ana amfani da umarnin xargs idan an yi amfani da fitarwa guda ɗaya a matsayin ɓangare na zaɓuɓɓuka ko jayayya na umarni na biyu wanda aka ƙaddamar da bayanai (ta amfani da afareta mai aiki "|"). Kashe kulle na yau da kullum yana isasshe idan an ƙaddamar da bayanai don kasancewa na (umarni) na umarni na biyu.

Alal misali, idan ka yi amfani da umarni na ls don samar da jerin sunayen fayilolin da kundayen adireshi, sa'an nan kuma toka wannan jerin a cikin umurnin xargs da ke yin rikodin saƙo , zaka iya ƙayyade yawan sunayen sunayen fayiloli ko sunaye sunaye ta hanyar ƙwaƙwalwa a kan kowane saiti kamar haka :

ls | xargs -n 5 echo

A wannan yanayin, ƙira ta karbi sunayen fayiloli guda biyar ko sunayen sunaye a lokaci guda. Tun da yake ƙararrawa ta ƙara halayyar sabon layi a ƙarshen, an rubuta sunayen biyar a kowane layi.

Idan ka aiwatar da umurnin da ya dawo da manyan lambobi (misali sunayen fayiloli) wanda aka sanya zuwa wani umurni don ci gaba da aiki yana da kyakkyawan ra'ayin kula da iyakar yawan ƙididdigar cewa umarni na biyu ya karɓa don kaucewa saukewa da ɓarnawa.

Lissafin umarnin da ya biyo bayanan sunadaran sunayen fayilolin da aka samar ta samo cikin kungiyoyi na 200 kafin su wuce zuwa umurnin cp , wanda ya rubuta su a cikin kulawar ajiya .

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

Sakamakon "./" a cikin umarnin da aka gano yana ƙayyade tarihin yanzu don binciken. Shaidar "-pepe f" ta ƙuntata bincike ga fayiloli, kuma "-name" * .txt "flag kara zangon fitar da wani abu wanda ba shi da" tsawo " .txt.Ta alama a cikin xargs yana nuna cewa { } sanarwa yana wakiltar kowace sunan fayil na tururi.

Umurin da ya biyo baya ya sami fayilolin da aka ambata a cikin ko a ƙasa da shugabanci / tmp kuma ya share su.

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

Lura cewa wannan zai yi aiki daidai ba idan akwai wasu filenames dauke da sabon ƙididdiga, guda ɗaya ko sau biyu ba, ko sarari. Sakamakon da ke biyowa yana tafiyar da filenames a hanyar da fayilolin fayil ko sunayen sunaye sun ƙunshi guda ɗaya ko sau biyu, zangon wuri ko sabon labaru ana sarrafa su daidai.

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

Maimakon -i zaɓin za ka iya amfani da -I tutar da ke ƙayyade igiya wanda aka maye gurbin ta shigar da layin a cikin umarnin umarni kamar yadda a wannan misali:

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

Ana sanya ma'anar maye gurbin "{}". Wannan yana nufin, duk abubuwan da suka faru na "{}" a cikin kwamandan umarni an maye gurbinsu ta hanyar shigarwa da aka tura zuwa tarkon ta hanyar aiki. Wannan yana baka damar sanya abubuwan shigarwa a wasu wurare a cikin muhawarar umarni da za a kashe (akai-akai).