Glob (programmering)
Inom programmering används globmönster för att specificera uppsättningar av filnamn med hjälp av jokertecken. Till exempel flyttar Bash-skalkommandot mv *.txt textfiles/
alla filer vars namn slutar på .txt
från aktuell katalog till katalogen textfiles
. I detta fall är *
ett jokertecken som står för "alla teckensekvenser" och *.txt
är ett globmönster. Ett annat vanligt jokertecken är frågetecknet (?
) som står för ett enda tecken. Till exempel kommer mv ?.txt shorttextfiles/
att flytta alla filer där filnamnet består av ett enda tecken följt av .txt
från aktuell katalog till katalogen shorttextfiles
, medan ??.txt
skulle matcha alla filer vars filnamn består av 2 tecken följt av .txt
.
Förutom att matcha filnamn används glob också i stor utsträckning för att matcha godtyckliga textsekvenser. För detta ändamål är fnmatch
ett vanligt gränssnitt.
Syntax[redigera | redigera wikitext]
De mest vanliga jokertecknen är *
, ?
, och […]
.
Jokertecken | Beskrivning | Exempel | Matchar | Matchar inte |
---|---|---|---|---|
*
|
matchar valfritt antal tecken inklusive inga tecken alls | Law*
|
Law , Laws eller Lawyer
|
GrokLaw , La eller aw
|
*Law*
|
Law , GrokLaw eller Lawyer .
|
La eller aw
| ||
?
|
matchar alla enskilda tecken | ?at
|
Cat , cat , Bat eller bat
|
at
|
[abc]
|
matchar ett av de tecken som anges inom klamrarna | [CB]at
|
Cat eller Bat
|
cat , bat eller CBat
|
[a-z]
|
matchar ett av de tecken från det (språkberoende) intervallet som anges inom klamrarna | Letter[0-9]
|
Letter0 , Letter1 , Letter2 till Letter9
|
Letters , Letter eller Letter10
|
Vanligtvis kommer sökvägstecknet (/
för Linux/Unix, MacOS, etc. eller \
för Windows) aldrig att matchas. Vissa skal, exempelvis Bash, har funktionalitet som låter användare kringgå detta.[1]
Se även[redigera | redigera wikitext]
Referenser[redigera | redigera wikitext]
- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.