Modelul de căutare ( în engleză model wildcard, model glob ) este o metodă de descriere a unei interogări de căutare folosind metacaractere ( caractere wildcard ).
Cele două caractere cele mai frecvent utilizate sunt asteriscul ( * ) pentru a înlocui orice șir de caractere și semnul întrebării ( ? ) pentru a înlocui orice caracter unic .
În acest caz, * poate însemna și un șir gol (fără caractere). De exemplu, o stea singură este un model care se potrivește cu toate fișierele de director care sunt căutate pentru acel model. Utilizarea șablonului *.html va selecta toate fișierele html, iar șablonul my*.odt va selecta fișierele care încep cu „my” și se termină cu „.odt”. Modelul *2010* se potrivește cu toate fișierele ale căror nume conțin grupul de caractere 2010.
Un semn de întrebare ( ? ) într-un model denotă orice caracter individual. De exemplu, sub modelul de raport.??? fișierele cu orice extensie de trei litere, dar care încep exact așa cum este specificat în șablon, va fi suficient. Notația descrip?ion.pdf va găsi fișiere cu numele dat, dar orice caracter (cum ar fi s sau t) poate fi folosit în locul unui semn de întrebare. În mod clar, metacaracterele cu semnul de întrebare sunt mai puțin frecvente decât asteriscurile.
Există, de asemenea, reguli mai complexe pentru scrierea șabloanelor. De exemplu, folosirea parantezelor drepte ([ ]) cu o listă de valori posibile permite căutări de fișiere mai flexibile. Să presupunem că este necesar să găsiți toate fișierele ale căror nume încep cu litera m, în timp ce este necesar să nu distingă majuscule și minuscule. Apoi modelul va arăta astfel: [mM]* . Dacă doriți să găsiți simultan fișiere care încep cu litere consecutive în alfabet, puteți specifica un interval. De exemplu, șablonul [m-pM-P]???.png se va potrivi cu toate fișierele png ale căror nume constau din patru litere, prima literă m sau n sau o sau p fiind insensibilă la majuscule.
Exemple de comenzi shell POSIX (Bourne) :
cat * >concat # Concatenează toate fișierele din directorul curent într-unul singur rm *.??? # Șterge toate fișierele din directorul curent care au un sufix de trei caractereÎn programele de gestionare a bazelor de date, cum ar fi SQL , semnul procentual % este utilizat în loc de * , în loc de? subliniere _. În Microsoft Access , și mai precis în limbajele lor de scripting, caracterele wildcard pot fi folosite în expresiile „LIKE”.
Probă | Conformitate |
---|---|
boo?.tmp | book.tmp, boot.tmp, boo1.tmp etc. |
boo[tk].tmp | boot.tmp și book.tmp |
b*tt?p | boot.tep, bat.tmp, bt.tnp etc. |
[ac]3.bat | a3.bat, b3.bat și c3.bat |
În expresiile regulate, conceptul de wildcards a fost dezvoltat în continuare. Au notații speciale nu numai pentru unul (".") și orice număr (cuantificator "*") de caractere, ci și pentru diferite clase de caractere (de exemplu, caractere goale "\s"), expresii alternative ("|" ) și multe altele.
Uneori, atunci când lucrați cu fișiere, este necesar sau posibil să specificați doar o parte din numele sau extensia acestora. Acest lucru se face, de exemplu, pentru a nu denumi complet toate fișierele pe care se efectuează operația în parametrii programului, ci pentru a le selecta într-un grup în funcție de un anumit atribut (rețineți că unele programe nu funcționează cu fișiere individuale, ci cu un grup) . De asemenea, poate fi necesar să găsiți un fișier sau fișiere pentru care nu sunt cunoscute numele complet și/sau extensiile. În aceste scopuri, sunt folosite așa-numitele șabloane.
Shell- urile de comandă Linux ( shell , bash , etc.), precum și diverse limbaje de programare, vă permit să selectați (căutați) anumite grupuri dintr-o varietate de nume de fișiere și directoare prin utilizarea așa-numitelor modele de nume de fișiere. Shell-ul de comandă compară următorul fișier cu șablonul, iar dacă „se încadrează” în acest șablon, va fi luat în considerare, dacă nu, va fi omis. Aproximativ, șablonul poate fi comparat cu un fel de cutie în care nu se va potrivi orice obiect și nu numai din cauza dimensiunii, ci și din cauza nepotrivirii dintre curbele cutiei și obiect.
Shell - ul bash partajează modele cu multe comenzi. De exemplu, ls (directoare de navigare), cp (copiere fișiere), find (căutare fișiere), etc. Cu toate acestea, comenzilor nu li se transmite un șablon, ci un fișier (un grup de fișiere) care a intrat deja sub acesta. Însuși shell-ul de comandă determină obiectele care se potrivesc cu modelul.