Misalai 12 Na Haƙiƙa na Dokar Linux Xargs don Masu farawa


Xargs babban umarni ne wanda ke karanta rafukan bayanai daga daidaitaccen shigarwa, sannan ya haifar da aiwatar da layin umarni; ma'ana yana iya ɗaukar fitarwa na umarni kuma ya wuce shi azaman hujjar wani umarni. Idan babu takamaiman umarni, xargs yana aiwatar da echo ta tsohuwa. Kuna da yawa kuma suna ba shi umarni don karanta bayanai daga fayil maimakon stdin.

Akwai hanyoyi da yawa waɗanda xargs ke da amfani a cikin amfanin yau da kullun na layin umarni. A cikin wannan labarin, zamuyi bayanin misalai 12 masu amfani na Linux xargs don farawa.

1. Misali na farko yana nuna yadda ake gano dukkan hotuna .png da adana su ta hanyar amfani da utility kamar haka.

Anan, umarnin aikin -print0 yana ba da damar buga cikakken hanyar fayil akan daidaitaccen fitarwa, sannan sai wani hali mara kyau da -0 flag ɗin xargs yadda ya kamata yana ma'amala da sarari a cikin sunayen fayil.

$ find Pictures/tecmint/ -name "*.png" -type f -print0 | xargs -0 tar -cvzf images.tar.gz

2. Hakanan zaka iya canza kayan aikin muti-line daga umurnin ls zuwa layi ɗaya ta amfani da xargs kamar haka.

$ ls -1 Pictures/tecmint/
$ ls -1 Pictures/tecmint/ | xargs

3. Don samar da taƙaitaccen jerin duk asusun masu amfani da Linux akan tsarin, yi amfani da umarni mai zuwa.

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

4. Idan kana da jerin fayiloli, kuma kana son sanin adadin layi/kalmomi/haruffa a cikin kowane fayil a cikin jerin, zaka iya amfani da ls command da xargs don wannan dalili kamar haka.

$ ls *upload* | xargs wc

5. Xarags kuma yana ba ku damar nemowa da cire recursively directory, alal misali umarni mai zuwa zai ci gaba da cire DomTerm a cikin directory Downloads.

$ find Downloads -name "DomTerm" -type d -print0 | xargs -0 /bin/rm -v -rf "{}"

6. Hakazalika ga umarnin da ya gabata, zaku iya nemo duk fayilolin mai suna net_stats a cikin directory ɗin yanzu sannan ku goge su.

$ find . -name "net_stats" -type f -print0 | xargs -0 /bin/rm -v -rf "{}"

7. Na gaba, yi amfani da xargs don kwafe fayil zuwa kundayen adireshi da yawa lokaci guda; a cikin wannan misali muna ƙoƙarin kwafi fayil ɗin.

$ echo ./Templates/ ./Documents/ | xargs -n 1 cp -v ./Downloads/SIC_Template.xlsx 

8. Hakanan zaka iya amfani da umarnin sake suna tare don sake suna duk fayiloli ko kundin adireshi a cikin takamaiman kundin adireshi zuwa ƙananan haruffa kamar haka.

$ find Documnets -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

9. Ga wani misali mai amfani don xargs, yana nuna yadda ake share duk fayiloli a cikin kundin adireshi sai dai fayiloli ɗaya ko kaɗan tare da tsawo da aka ba.

$ find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {}

10. Kamar yadda aka ambata a baya, zaku iya ba da umarni xargs don karanta abubuwa daga fayil maimakon daidaitaccen shigarwa ta amfani da alamar -a kamar yadda aka nuna.

$ xargs -a rss_links.txt

11. Za ka iya kunna verbosity ta amfani da alamar -t, wanda ke gaya wa xargs buga layin umarni akan daidaitaccen fitowar kuskure kafin aiwatar da shi.

$ find Downloads -name "DomTerm" -type d -print0 | xargs -0 -t /bin/rm -rf "{}"

12. Ta hanyar tsohuwa, xargs yana ƙarewa/yana iyakance abubuwa ta amfani da sarari mara kyau, zaku iya amfani da alamar -d don saita maƙasudin abin da zai iya zama harafi ɗaya, tserewar halayen C-style kamar , ko lambar tserewa ta octal ko hexadecimal.

Bugu da ƙari, kuna iya faɗakar da mai amfani game da ko zai gudanar da kowane layin umarni kuma karanta layi daga tashar tashar, ta amfani da alamar -p kamar yadda aka nuna (kawai a rubuta y don i ko n don a'a).

$ echo ./Templates/ ./Documents/ | xargs -p -n 1 cp -v ./Downloads/SIC_Template.xlsx 

Don ƙarin bayani, karanta shafin xargs man.

$ man xargs 

Shi ke nan a yanzu! Xargs shine mai amfani mai ƙarfi don gina layin umarni; zai iya taimaka muku fitar da fitarwa na umarni ɗaya azaman hujjar wani umarni don sarrafawa. A cikin wannan labarin, mun bayyana misalan umarni xargs guda 12 masu amfani don masu farawa. Raba muku tunani ko tambayoyi tare da mu ta hanyar amsawar da ke ƙasa.