12 Eżempji Prattiċi ta' Kmand Linux Xargs għal Jibdew


Xargs huwa kmand kbir li jaqra flussi ta 'dejta minn input standard, imbagħad jiġġenera u jesegwixxi linji ta' kmand; jiġifieri jista 'jieħu output ta' kmand u jgħaddih bħala argument ta 'kmand ieħor. Jekk ma jkun speċifikat l-ebda kmand, xargs jesegwixxi echo b'mod awtomatiku. Int ħafna wkoll tordnaha biex taqra data minn fajl minflok stdin.

Hemm diversi modi li bihom xargs huwa utli fl-użu ta 'kuljum tal-linja tal-kmand. F'dan l-artikolu, se nispjegaw 12-il eżempju prattiku ta 'kmand Linux xargs għal dawk li jibdew.

1. L-ewwel eżempju juri kif issir taf l-immaġini kollha .png u arkivjahom billi tuża l-utilità tal-qatran kif ġej.

Hawnhekk, il-kmand tal-azzjoni -print0 jippermetti l-istampar tal-mogħdija tal-fajl sħiħa fuq l-output standard, segwit minn karattru null u -0 xargs flag effettivament jittratta l-ispazju fl-ismijiet tal-fajls.

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

2. Tista 'wkoll tikkonverti l-output muti-line minn kmand ls f'linja waħda billi tuża xargs kif ġej.

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

3. Biex tiġġenera lista kompatta tal-kontijiet kollha tal-utenti Linux fuq is-sistema, uża l-kmand li ġej.

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

4. Jekk wieħed jassumi li għandek lista ta 'fajls, u tixtieq tkun taf in-numru ta' linji/kliem/karattri f'kull fajl fil-lista, tista 'tuża ls kmand u xargs għal dan il-għan kif ġej.

$ ls *upload* | xargs wc

5. Xarags jippermettilek ukoll li ssib u tneħħi b'mod rikorsiv direttorju, pereżempju l-kmand li ġej se jneħħi b'mod rikorsiv DomTerm fid-direttorju Downloads.

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

6. Bl-istess mod għall-kmand preċedenti, tista 'wkoll issib il-fajls kollha bl-isem net_stats fid-direttorju attwali u tħassarhom.

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

7. Sussegwentement, uża xargs biex tikkopja fajl għal direttorji multipli f'daqqa; f'dan l-eżempju qed nippruvaw nikkopjaw il-fajl.

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

8. Tista 'wkoll tuża l-kmandi semmi mill-ġdid flimkien biex tibdel l-isem tal-fajls jew subdirettorji kollha f'direttorju partikolari f'ittri żgħar kif ġej.

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

9. Hawnhekk huwa eżempju ieħor ta 'użu utli għal xargs, juri kif tħassar il-fajls kollha fi direttorju ħlief fajls wieħed jew ftit b'estensjoni partikolari.

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

10. Kif issemma qabel, tista’ tagħti struzzjonijiet lil xargs biex jaqraw oġġetti minn fajl minflok input standard billi tuża l-bandiera -a kif muri.

$ xargs -a rss_links.txt

11. Tista 'tippermetti verbosity billi tuża l-bandiera -t, li tgħid lil xargs biex jistampaw il-linja tal-kmand fuq l-output ta' żball standard qabel ma tesegwixxiha.

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

12. B'default, xargs itemm/delimita oġġetti bl-użu ta' spazji vojta, tista' tuża l-bandiera -d biex tissettja d-delimitatur li jista' jkun karattru wieħed, ħarba ta' karattru ta' stil C bħal , jew kodiċi ta' escape ottali jew eżadeċimali.

Barra minn hekk, tista 'wkoll tħeġġeġ lill-utent dwar jekk għandux iħaddem kull linja ta' kmand u taqra linja mit-terminal, billi tuża l-bandiera -p kif muri (sempliċement ittajpja y għal iva jew n għal le).

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

Għal aktar informazzjoni, aqra l-paġna man xargs.

$ man xargs 

Dak hu għalissa! Xargs huwa utilità qawwija għall-bini ta 'linja ta' kmand; jista 'jgħinek tgħaddi l-output ta' kmand wieħed bħala argument ta 'kmand ieħor għall-ipproċessar. F'dan l-artikolu, spjegajna 12-il eżempju prattiku ta 'kmand ta' xargs għal dawk li jibdew. Aqsam il-ħsibijiet jew il-mistoqsijiet tiegħek magħna permezz tal-formola ta' feedback hawn taħt.