Ngokusho kwe-Wikipedia, i-metacharacter yimuphi umlingisi onencazelo ekhethekile, njenge-carat (^), isibonakaliso se-dollar ($) noma i-asterisk (*).
Ngokuphathelene ne-Linux, kunenani elilinganayo lala ma-metacharacters futhi izincazelo zawo ziyahlukahluka kuye ngokuthi yikuphi umyalo noma uhlelo osebenzayo.
I-Stop Stop njenge-Metacharacter (.)
Isitoreji esigcwele sokuthobeka sisetshenziselwa ukunikela ngesimo samanje uma uqhuba imiyalo efana ne- cd , thola noma sh kodwa ngaphakathi kwezicelo ezifana ne- awk , grep bese uyisetshenzisiwe isetshenziselwa ukukhomba noma yikuphi uhlamvu.
Isibonelo, umyalo olandelayo uzothola wonke amafayela we-mp3 kufolda yamanje futhi ngezansi.
thola. -name * .mp3
Uma uqhuba lo myalo kuwe uveza isiqondisi somsebenzi (pwd) khona-ke uzothola imiphumela ebuyelwe, ucabanga ukuthi ugcine amafayela akho e-mp3 kufolda yomculo ngaphakathi kwifolda yakho yasekhaya.
Manje buka lo myalo:
ps -ef | u-grep f..efox
I-ps umyalo uhlunga zonke izinqubo ezisebenzayo kukhompyutha yakho. Umyalo we-grep uthatha imigqa yokufaka nokusesha iphethini.
Ngakho-ke umyalo we-ps -ef uthola uhlu lwezinqubo ezigijima futhi unikeza i-grep efuna noma yikuphi uhlu ohlwini lwe-f_efox lapho. kungasho noma yikuphi uhlamvu.
Uma une firefox egijima uzothola umdlalo. Ngokufanayo, uma unesimo esibizwa ngokuthi i-fonefox noma i-freefox egijima bayobuyiselwa.
I-asterisk njenge-metacharacter (*)
I-asterisk iyi-metacharacter eyaziwa kakhulu emhlabeni wonke futhi isetshenziselwa ukusho 0 noma ngaphezulu lapho ifuna iphethini.
Ngokwesibonelo:
thola. -name * .mp3
I * .mp3 ubuyisela umdlalo kunoma yiliphi igama lefayela eliphela ku-.mp3. Ngokufanayo, ngabe ngilisebenzise i-asterisk ngomyalo we-grep njengoba okulandelayo kubonisa:
ps -ef | i-grep F * efox
Kumele uqaphele ukuthi lokhu kuhluke kancane ngoba i-asterisk isho ukuthi zero noma ngaphezulu nokuthola umlilo, ubuso be-fonefox futhi ungathola i-flutefox, i-ferretfox ngisho ne-fefox nje.
I-Carat Njenge-Metacharacter (^)
I-carat (^) isetshenziselwa ukukhombisa ukuqala komugqa noma uchungechunge. Pho isetshenziswa kanjani?
Umyalo we-ls usetshenziselwa ukuhlunga wonke amafayela kufolda ngendlela elandelayo:
ls
Uma ufuna ukwazi wonke amafayela kwifolda eqala ngentambo ethile efana ne "gnome" khona-ke i-carat ingasetshenziswa ukucacisa leyo string.
Ngokwesibonelo:
ls | i-grep ^ gnome
Qaphela ukuthi lokhu kubonisa kuphela amafayela aqala nge-gnome. Uma ufuna amafayili anegama lomsebenzisi igama noma yiliphi igama bese ubuyela emuva e-asterisk.
Kulesi sibonelo esingenhla, i-ls ibuyisela uhlu lwamagama okufakiwe namaphasi adlulela ku-grep esetshenziselwa ukufanisa iphethini. U-grep uyazi ukuthi uphawu lwe-carat lisho ukuthola noma yini eqala ngabalingiswa abaza emva kwayo futhi kulokhu, kuyinhlawulo.
I-Dollar Symbol Njenge-Metacharacter ($)
Idokhumenti ye-dollar ingaba nezincazelo eziningi njenge-metacharacter ngaphakathi kwe-Linux.
Uma isetshenziselwa ukufanisa amaphethini kuchaza okuphambene ne-carat futhi ichaza noma iyiphi iphethini ephela ngentambo ethile.
Ngokwesibonelo:
ls | i-grep png $
Lokhu kubhala wonke amafayela aqeda nge-png.
Uphawu lwama dollar lisetshenziselwa ukufinyelela eziguquguqukayo zemvelo ngaphakathi kwegobolish bash.
Ngokwesibonelo:
inja yokuthekelisa = i-molly
bhala inja yenja
Inja yokuthekelisa inamba = i-molly idala ukuhlukahluka kwemvelo okuthiwa inja futhi ibeka inani layo ku-molly. Ukufinyelela okuguquguqukayo kwemvelo i-symbol ye-$ isetshenziswa. With the $ symbol the echo $ inja isitatimende ubonisa molly kodwa ngaphandle kwalo, isitatimende inja echo nje ubonisa inja izwi.
Ukubalekela ama-Metacharacters
Ngezinye izikhathi awufuni ukuthi i-metacharacter ibe nencazelo ekhethekile. Kuthiwani uma unefayela elibizwa ngokuthi f.refox nefayela elibizwa ngokuthi i-firefox.
Manje bheka umyalo olandelayo:
ls | grep f.refox
Ucabanga ukuthi ubuyiselwa kuphi? Kokubili f.refox ne-firefox babuyiselwa ngoba bobabili bafanisa iphethini.
Ukubuyela kuphela f.refox kuzodingeka ubalekele ukuma okugcwele ukuze usho ukuthi ukuma okugcwele kanje:
ls | grep f \\. refox
Ama-Metacharacter ajwayelekile kanye nokusho kwabo
Isici | Okushoyo |
. | Noma yimuphi uhlamvu |
* | Zero noma izinhlamvu eziningi |
^ | Qhathanisa noma yikuphi umugqa noma ucingo oluqala ngephethini (ie ^ gnome) |
$ | Qondanisa noma yikuphi umugqa noma ucingo oluphela ngephethini (okungukuthi i-gnome $) |
\ | Iqa umlingiswa olandelayo ukususa incazelo yayo ekhethekile |
[] | Hlanganisa olunye uhlu noma ububanzi (okungukuthi ["abc", "def"] noma [1..9] |
+ | Qhathanisa eyodwa noma ngaphezulu eyandulele (ie grep a +) |
? | Ukulinganisa i-zero noma eyodwa esandulele |