'?' brukes til å matche en hvilken som helst enkelt karakter. Du kan bruke '?' for flere ganger for å matche flere tegn.
Eksempel 1:
Anta at du vil søke på de tekstfilnavnene hvis navn er 4 tegn lange og utvidelsen er .tekst. Du kan bruke Globbing -mønster ved å bruke '?Fire ganger for å gjøre denne oppgaven.
Finn ut listen over alle filer og mappe i den gjeldende katalogen.
$ ls -l
Kjør følgende kommando -søk på de filene hvis navn er fire tegn lange og ukjente.
$ ls -l ????.tekstEksempel-2:
Anta at du vil søke på dokumentfilene hvis navn er 8 tegn lange, første 4 tegn er f, o, o og t og utvidelse er Doc. Kjør følgende kommando med Globbing -mønster for å søke i filene.
$ ls -l fot????.Doc
Eksempel-3:
Anta at du vet at filnavnet er 'beste' og utvidelsen er 3 tegn lang, men vet ikke utvidelsen. Kjør følgende kommando ved å bruke '?'For å søke i alle filer med navnet' Test 'har noen utvidelse av tre tegn lang.
$ ls -l best.???
Asterisk - (*)
'*' brukes til å matche null eller flere tegn. Hvis du har mindre informasjon for å søke på en fil eller informasjon, kan du bruke '*' i globbingmønster.
Eksempel -1:
Anta at du vil søke i alle filer av 'PL' Utvidelse. Kjør følgende kommando ved hjelp av '*' å gjøre den oppgaven.
$ ls -l *.pl
Eksempel-2:
Anta at du bare vet startkarakteren til filnavnet som er 'en'. Kjør følgende kommando ved å bruke '*' for å søke i alle filer i den gjeldende katalogen hvis navn er startet med 'en'.
$ ls -l a*.*
Eksempel-3:
Du kan bruke '*' i bash -skript for forskjellige formål uten å søke på filer. Lag en bash -fil som heter 'Sjekk.sh ' med følgende skript. Her, når brukeren vil skrive 'y 'eller' y 'eller' ja 'eller' ja ' deretter 'bekreftet' vil skrive ut og når typen vil skrive 'n' eller 'n' eller 'nei' eller 'nei' deretter 'Ikke bekreftet' vil trykke.
#!/bin/bash
ekko "Vil du bekrefte?""
Les svar
sak $ svar i
[Yy]*) ekko "bekreftet.";;
[Nn]*) ekko "ikke bekreftet.";;
*) ekko "Prøv igjen.";;
Esac
Kjør manuset.
$ bash check.sh
Firkantet brakett - ([])
'[]' brukes til å matche karakteren fra rekkevidden. Noen av de mest brukte rekkevidde erklæringer er nevnt nedenfor.
Alle store alfabeter er definert av området som, [: øvre:] eller [A-Z] .
Alle små alfabeter er definert av området som, [: lavere:] eller [A-Z].
Alle numeriske sifre er definert av området som, [: siffer:] eller [0-9].
Alle store og nedre alfabeter er definert av området som, [: alfa:] eller [a-za-z].
Alle store alfabeter, små alfabet og sifre er definert av området som, [: Alnum:] eller [A-ZA-Z0-9]
Eksempel -1:
Kjør følgende kommando for å søke på alle filer og mapper med navnet inneholder p eller q eller r eller s.
$ ls -l [P -S]*
Eksempel-2:
Kjør følgende kommando for å søke i alle filer og mapper hvis navn starter med ethvert siffer fra 1 til 5.
$ ls -l [1-5]*
Caret - (^)
Du kan bruke '^' med firkantet brakett for å definere globalmønster mer spesifikt. '^' kan brukes inne i eller utenfor firkantet brakett. '^' brukes utenfor den firkantede braketten for å søke i innholdet i filen som starter med et gitt utvalg av tegn. '^' brukes inne i den firkantede braketten for å vise alt innholdet i filen ved å fremheve linjene starter med et gitt utvalg av tegn . Du kan bruke forskjellige typer Globbing -mønstre for å søke på bestemt innhold fra en fil. 'grep' Kommando brukes til innholdssøk i bash. Anta at du har en tekstfil som heter 'liste.tekst' Med følgende innhold. Test følgende eksempler for den filen.
epleEksempel - 1:
Kjør følgende kommando for å søke på disse linjene fra liste.tekst fil som starter med P eller q eller r.
$ grep '^[p-r]' liste.tekstEksempel - 2:
Kjør følgende kommando for å fremheve disse linjene fra liste.tekst fil som starter med A eller b eller c.
$ grep '[^a-c]' liste.tekstUtropstegn - (!)
Du kan bruke '!' Inne i rekkevidden mønster. Det fungerer samme som bruk av '^' -symbol utenfor rekkevidden mønster. Noen eksempler på bruk '!' Tegnet er gitt nedenfor.
Eksempel - 1:
Kjør følgende kommando for å vise disse linjene fra liste.tekst fil som starter med 'P' eller q eller r.
$ grep [!P-R] -liste.tekstEksempel - 2:
Kjør følgende kommando for å vise disse linjene fra liste.tekst fil som starter med ethvert siffer fra 4 til 8.
$ grep [!4-8] liste.tekstDollarskilt - ($)
'$' brukes til å definere sluttkarakteren. Hvis du vet vil søkeinformasjon basert på siste karakter, kan du bruke '$' i globbingmønster.
Eksempel - 1:
Kjør følgende kommando for å søke på disse linjene fra liste.tekst fil som ender med 'en'.
$ grep en $ liste.tekstEksempel - 2:
Kjør følgende kommando for å søke på disse linjene fra liste.tekst fil som slutter med nummeret 50.
$ grep 50 $ liste.tekstKrøllete brakett - ()
'' kan brukes til å matche filnavn med mer enn ett globbingmønster. Hvert mønster er atskilt med ',' i krøllete brakett uten plass. Noen eksempler er gitt nedenfor.
Eksempel - 1:
Kjør følgende kommando for å søke på filene hvis navn er 5 tegn lange og utvidelsen er 'sh' eller de to siste tegnene på filene er 'St' Og utvidelsen er 'tekst'.
$ ls -l ?????.sh,*st.tekstEksempel - 2:
Kjør følgende kommando for å slette alle filer hvis utvidelser er 'Doc' eller 'Docx'.
$ rm *.Doc,*.docx
Rør- (|)
'|' Tegn brukes også til å bruke mer enn en tilstand på globbingmønsteret. Hvert mønster er atskilt med '|' symbol i kommandoen.
Eksempel - 1:
Kjør følgende kommando for å søke på filnavnene som starter med karakteren 'A' og har utvidelsen 'bash' eller 'sh'.
$ ls a*+(.bash |.sh)
Eksempel - 2:
Lag en bash -fil som heter 'Meny.bash ' og legg til følgende skript. Hvis brukertypen 1 eller s Da vil den skrive ut “Søker tekst”. Hvis brukertypen 2 eller r da vil den skrive ut “Erstatte tekst”. Hvis brukertypen 3 eller d Da vil den skrive ut “Slette tekst”. Det vil skrive ut "Prøv igjen" For andre innspill.
#!/bin/bash
Ekko "Velg et hvilket som helst alternativ fra menyen:"
Les svar
sak $ svar i
1 | S) ekko "søkende tekst" ;;
2 | R) ekko "erstatte tekst" ;;
3 | D) ekko "Sletting av tekst" ;;
*) ekko "Prøv igjen.";;
Esac
Kjør manuset.
$ bash -meny.bash
Noen av de mest brukte Globbing -mønstrene er forklart i denne opplæringen ved å bruke veldig enkle eksempler. Jeg håper etter å ha øvd eksemplene ovenfor, vil globbing være tydelig for deg, og du vil kunne bruke det i bash -kommandoer og skript.
For mer info, sjekk denne videoen: