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
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
- Reguljära uttryck
- Jokertecken
Referenser
- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.
- ^ Bash Reference Manual