et jokertegn er et tegn som kan brukes som erstatning for noen av en klasse tegn i et søk, og øker dermed fleksibiliteten og effektiviteten av søkene sterkt.
Jokertegn brukes ofte i shell-kommandoer I Linux og Andre Unix-lignende operativsystemer. Et skall er et program som gir en tekst-bare brukergrensesnitt og hvis hovedfunksjon er å utføre kommandoer skrevet inn av brukere og vise sine resultater.
Jokertegn brukes også i regulære uttrykk og programmeringsspråk. Regulære uttrykk er et mønster matching system som bruker strenger (dvs. sekvenser av tegn) konstruert i henhold til forhåndsdefinerte syntaksregler for å finne ønskede strenger i tekst.
begrepet wildcard eller wild card ble opprinnelig brukt i kortspill for å beskrive et kort som kan tildeles en verdi som innehaveren ønsker. Imidlertid har bruken spredt seg slik at den nå brukes til å beskrive en ukjent eller uforutsigbar faktor på en rekke felt.
Star Wildcard
Tre typer jokertegn brukes Med Linux-kommandoer. Den hyppigst ansatt og vanligvis den mest nyttige er star wildcard, som er det samme som en stjerne (*). Star wildcard har den bredeste betydningen av noen av jokertegn, som det kan representere null tegn, alle enkelt tegn eller en streng.
som et eksempel gir filkommandoen informasjon om ethvert filsystemobjekt (dvs.fil, katalog eller lenke) som er gitt til det som et argument (dvs. input). Fordi stjernejokertegnet representerer hver streng, kan det brukes som argument for at filen skal returnere informasjon om hvert objekt i den angitte katalogen. Dermed vil følgende vise informasjon om hvert objekt i gjeldende katalog (dvs. katalogen der brukeren jobber for tiden):
file *
Hvis det ikke er noen treff, returneres en feilmelding, for eksempel*: kan ikke stat ‘ * ‘(ingen slik fil eller katalog).. I tilfelle av dette eksemplet er den eneste måten at det ikke ville være noen treff, hvis katalogen var tom.
Jokertegn kan kombineres med andre tegn for å representere deler av strenger. For eksempel, for å representere et filsystemobjekt som har en .jpg filendelse, *.jpg skal brukes. På samme måte vil a* representere alle objekter som begynner med små bokstaver (dvs. små) bokstav a.
som et annet eksempel, vil følgende fortelle ls-kommandoen (som brukes til å liste filer) for å gi navnene på alle filene i gjeldende katalog som har en .html eller a .txt forlengelse:
ls *.html *.txt
på Samme måte vil følgende fortelle rm-kommandoen (som brukes til å fjerne filer og kataloger) for å slette alle filer i gjeldende katalog som har strengen xxx i navnet:
rm *xxx*
Spørsmålstegn Jokertegn
spørsmålstegnet (?) brukes som et jokertegn i shell-kommandoer for å representere nøyaktig ett tegn, som kan være et enkelt tegn. Dermed vil to spørsmålstegn i rekkefølge representere to tegn i rekkefølge, og tre spørsmålstegn i rekkefølge vil representere en streng som består av tre tegn.
for eksempel vil følgende returnere data på alle objekter i gjeldende katalog hvis navn, inkludert eventuelle utvidelser, er nøyaktig tre tegn i lengden:
file ???
og følgende vil gi data om alle objekter hvis navn er en, to eller tre tegn i lengde:
file ? ?? ???
som tilfellet er med star wildcard, kan spørsmålstegnet wildcard brukes i kombinasjon med andre tegn. For eksempel vil følgende gi informasjon om alle objekter i gjeldende katalog som begynner med bokstaven a og er fem tegn i lengde:
file a????
spørsmålstegnet wildcard kan også brukes i kombinasjon med andre jokertegn når atskilt med en annen karakter. Følgende vil for eksempel returnere en liste over alle filene i gjeldende katalog som har en filtype på tre tegn:
ls *.???
Hakeparenteser Jokertegn
den tredje typen jokertegn i shell-kommandoer er et par hakeparenteser, som kan representere alle tegnene i hakeparentesene. Således vil for eksempel følgende gi informasjon om alle objekter i gjeldende katalog som har en x, y og / eller z i dem:
file **
og følgende vil liste alle filer som hadde en utvidelse som begynner med x, y eller z:
ls *.*
De samme resultatene kan oppnås ved å bare bruke stjerne og spørsmålstegn jokertegn. Det er imidlertid klart mer effektivt å bruke braketten wildcard.
når en bindestrek brukes mellom to tegn i hakeparenteser-jokertegnet, angir det et område som inkluderer disse to tegnene. For eksempel vil følgende gi informasjon om alle objektene i gjeldende katalog som begynner med en bokstav fra a til f:
file *
og følgende vil gi informasjon om hvert objekt i gjeldende katalog hvis navn inneholder minst ett tall:
file **
bruken av firkantede parenteser for å indikere et område kan kombineres med bruken for å indikere en liste. Således vil for eksempel følgende gi informasjon om alle filsystemobjekter hvis navn begynner med et hvilket som helst brev fra a til c eller begynner med s eller t:
file *
På Samme måte kan flere sett med områder spesifiseres. For eksempel vil følgende returnere informasjon om alle objekter hvis navn begynner med de tre første eller de siste tre små bokstaver i alfabetet:
file *
Noen ganger kan det være nyttig å ha en rekke firkantede brakett jokertegn. For eksempel vil følgende vise alle filnavn i gjeldende katalog som består av jones etterfulgt av et tresifret tall:
ls jones