Glob (programmering)

Mönster som används i filsökning för att hitta delvis identiska filnamn

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

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

Referenser redigera

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.