Sicondu Wikipedia, un metacharacter hè qualellu carattere chì hà un significatu especial, cum'è un carat (^), signu di dòrica ($) o un asterisk (*).
In termini di Linux, ci sò un certu nùmeru di questi metamcarculi è i so significati diferendu secondu u quale u prugramma o u prugramma chì viaghja.
A Full Stop As A Metacharacter (.)
U umiliu hè tutale per donate a pusizione attuale à i ghjorni cumandamenti cum'è cd , find o sh, ma in l'applicazioni cum'è awk , grep è sedu hè utilizatu per denota qualcunu.
Comu esempiu, u cumandimu seguitu truvà tutti i schedari mp3 in u carpeta attuale è quì sottu.
truvà. -name * .mp3
Sè guardi chì cumandà in u cartulare di u travagliu (pwd) pudete esse probabilmente risultati rimettii, fendu chì ferma i vostri mp3 files in una carpeta di musica in u cartulare di casa.
Aghjeria à questu cumandamentu:
ps -ef | grep f..efox
U cumandamentu di ps lista tutte i prucessi chì travaglia in u vostru urdinatore. U cumandru grep adopta ligne di l'input è cerca un mudellu.
Perchè u cumandamentu ps -ef cumpriu una lista di i prucessi chì currinu è li dete à grep chì cerca per ogni linea in a lista chì ha f..fuga unni a. pò significà alcune carattere.
Se avete u running firefox vi ricevi un match. Inoltru, sì avete un programe chjamatu phonefox o running freefox chì anu tornatu.
L'asterisco com'è un metacharacter (*)
L'asteriscenu hè un metàmechje più universalmente famosa è hè stata utilizata per significari 0 o più quandu cercate un mudellu.
Per esempiu:
truvà. -name * .mp3
* .mp3 torna una match per qualsiasi filename chì finiscenu in .mp3. Inoltre, puderia avè usatu l'asterisccu cù u cumandru grep cum'è quì sottu mostra:
ps -ef | grep F * efox
Hè nutate chì questa difiere duce perchè l'asteriscenu significa cero o più, è cusì ancu truvà Firefox, faculu è fonefox pudete truvà flutefox, ferretfox è ancu fefox.
U Carat As A Metacharacter (^)
U carat (^) hè utilizatu per denote u principiu di una linea o di una stringa. E quantu hè adupratu?
U cumandimu hè usatu per listinu tutti i schedari in un cartulare cumu seguitu:
ls
Se vulete sapè tutti i schedari in un cartulare chì accumincia cun un stringu stringu cum'è «gnome», u quellu chì pò esse usatu per esemplà quella stringa.
Per esempiu:
ls | grep ^ gnome
Nota chì questu solamente lista files chì partenu da u GNOME. Se vulete arquivi chì anu un gnome in u filename in ogni locu, pudete torna più à daretu à l'asteriscenu.
In l'altru esempiu, u ls torna una lista di nomini di filename è passa chì lista à grep chì hè utilizatu per cunnessione di patch. Grep sapi chì u simbolu carat significa alcune di qualcosa chì accummenta cù i caratteri chì ghjè dopu, è in stu casu, hè un gnome.
U simbulu di dòursu cum'è un metacharacter ($)
U simbulu di doppia pò esse parechje significati cum'è metàchju in Linux.
Quandu s'apprachisce cù e patruneghjate alcuni significa l'uppostu di u caratu è denota un patronu chì finiscinu cù una stringa particular.
Per esempiu:
ls | grep png $
Questu Liste tutti i file chì finiscinu cù PNG.
U simbulu di dùvuru hè ancu usatu per accede à varià di l'embiu di l'ingiru à u bash shell.
Per esempiu:
Can export dog = molly
echo $ dog
A cummerciu di esse di l'esigenza = molly crea una varianti d'ambiente chjamata cane è stabilisce u so valore à molly. Per accessu à l'embiu di l'ambiente, u simbulu $ hè utilatu. Cù u sìmbulu $ the echo $ statement dog affirmate molly, ma senza ellu, u stissu dirittu di cane si mostra a cane parolle.
Scaricate mettechule
Certe volte ùn voi micca u mecharacteristicu avè un significatu specialu. Chì si avete un schedariu chjamatu f.refox è un schedariu chjamatu firefox.
Aghjurnà à u cumandimu seguitu:
ls | grep f.refox
Chì pensate hè tornatu? Tant f.refox e firefox sò ritornu, perchè ei cunnevanu cù u patronu.
Per rinvià solu f.refox vo avete bisognu à scappari di u puntu in fine chì significheva un puntu sestu da quì:
ls | grep f \\. refox
Half Metacharacters è i Sò Significà
Carattere | Meaning |
. | Ogni caratteru |
* | Zero o più caratteri |
^ | Match ogni linea o stringe chì cumincianu cun un patronu (ie ^ gnome) |
$ | Match ogni linea o stringe finisci cù un mudellu (ie gnome $) |
\ | Escapi u caratteru vicinu per rinfurzà u so significatu specialu |
[] | Partitu una di una lista o scala (per esse "abc", "def") o [1..9] |
+ | Partitu una o più di precedente (ie grep a +) |
? | Match zero o un precedente |