'?' se uporablja za ujemanje katerega koli posameznega znaka. Lahko uporabiš '?' večkrat za ujemanje več znakov.
Primer 1:
Recimo, da želite poiskati imena besedilnih datotek, katerih imena so dolga 4 znake, razširitev pa je .txt . Vzorec globbinga lahko uporabite z uporabo ' ? “Štirikrat opraviti to nalogo.
Poiščite seznam vseh datotek in map trenutnega imenika.
$ls-
Zaženite naslednji ukaz za iskanje datotek, katerih imena so štiri znake dolga in neznana.
$ ls -l ????. txt
Primer 2:
Recimo, da želite poiskati tiste datoteke dokumentov, katerih imena so dolga 8 znakov, prvi 4 znaki so f, o, o in t in razširitev je doc . Za iskanje datotek zaženite naslednji ukaz z vzorcem globbing.
$ls -noga ????. doc
Primer 3:
Recimo, da veste, da je ime datoteke 'Najboljši' in razširitev je dolga 3 znake, vendar razširitve ne poznate. Z uporabo zaženite naslednji ukaz ‘? «Za iskanje po vseh datotekah z imenom» test «s katero koli razširitvijo, dolgimi tri znake.
$ls -najboljši. ???
Zvezdica - (*)
'*' se uporablja za ujemanje nič ali več znakov. Če imate za iskanje po kateri koli datoteki ali podatkih manj podatkov, jih lahko uporabite '*' v krogličnem vzorcu.
Primer -1:
Recimo, da želite poiskati vse datoteke v 'Pl' podaljšek. Z uporabo zaženite naslednji ukaz '*' narediti to nalogo.
$ls - *.pl
Primer 2:
Recimo, da poznate začetni znak imena datoteke, ki je 'do' . Z naslednjim ukazom zaženite naslednji ukaz, da poiščete vse datoteke trenutnega imenika, katerih imena se začnejo 'do' .
$ls -do*.*
Primer 3:
V bash skriptu lahko uporabite*za različne namene brez iskanja datotek. Ustvarite bash datoteko z imenom 'Check.sh' z naslednjo pisavo. Tukaj, ko bo uporabnik vnesel ' y 'ali' Y 'ali' yes 'ali' yes ' potem 'Potrjeno' bo natisnil in kdaj bo tip vnesel 'N' ali 'N' ali 'ne' ali 'ne' potem 'Ni potrjeno' bo natisnil.
#!/bin/bashvrgel ven 'Ali želite potrditi?'
prebratiodgovor
Ovitek $ odgovor v
[Yy]* ) vrgel ven 'potrjeno.';;
[Št]* ) vrgel ven 'Ni potrjeno.';;
*) vrgel ven 'Poskusi ponovno.';;
esac
Zaženite skript.
$bashcheck.sh
Kvadratni oklepaj - ([])
'[]' se uporablja za ujemanje znaka iz obsega. Nekatere izmed najpogosteje uporabljenih deklaracij obsega so omenjene spodaj.
Vse velike abecede so v razponu opredeljene kot, [: velika:] ali [A-Z].
Vse male črke so v razponu definirane kot, [: male:] ali [a-z].
Vse številske števke so v razponu opredeljene kot, [: številka:] ali [0-9].
Vse velike in male črke so v razponu opredeljene kot, [: alpha:] ali [a-zA-z].
Vse velike abecede, male abecede in števke so v razponu opredeljene kot, [: alnum:] ali [a-zA-Z0-9]
Primer -1:
Če želite poiskati vse datoteke in mape, katerih ime vsebuje, zaženite naslednji ukaz str ali kaj ali r ali s .
$ls - [p-s]*
Primer 2:
Zaženite naslednji ukaz za iskanje vseh datotek in map, katerih ime se začne s poljubno številko od 1 do 5.
$ls - [1-5]*
Manjka mu - (^)
Lahko uporabiš '^' s kvadratnimi oklepaji za natančnejšo opredelitev vzorca globanja. '^' se lahko uporablja znotraj ali zunaj oglatih oklepajev. '^' Se uporablja zunaj oglatih oklepajev za iskanje tiste vsebine datoteke, ki se začne z določenim obsegom znakov. '^' Se uporablja v oglatih oklepajih za prikaz celotne vsebine datoteke s poudarjanjem vrstic, ki se začnejo z določenim obsegom znakov. Za iskanje določene vsebine iz datoteke lahko uporabite različne vrste globlobirnih vzorcev. 'oprijem' ukaz se uporablja za iskanje vsebine v bash. Recimo, da imate besedilno datoteko z imenom 'List.txt' z naslednjo vsebino. Preizkusite naslednje primere za to datoteko.
Apple4000
Banana
700
Oranžna
850
Hruška
9000
jackdruit
Primer - 1:
Za iskanje teh vrstic zaženite naslednji ukaz list.txt datoteko, ki se začne z P ali Q ali R .
$ grep '^[P-R]' list.txt
Primer - 2:
Zaženite naslednji ukaz, da označite te vrstice list.txt datoteko, ki se začne z A ali B ali C .
$ grep '[^A-C]' list.txt
Klicaj - (!)
Lahko uporabiš '!' znotraj vzorca razpona. Deluje enako kot uporaba simbola ‘^’ zunaj vzorca razpona. Nekaj primerov uporabe '!' znak je podan spodaj.
Primer - 1:
Za prikaz teh vrstic zaženite naslednji ukaz list.txt datoteko, ki se začne z 'P' ali Q ali R .
$ grep [! P-R] list.txt
Primer - 2:
Za prikaz teh vrstic zaženite naslednji ukaz list.txt datoteko, ki se začne s poljubno številko iz 4 do 8 .
$ grep [! 4-8] list.txt
Znak za dolar - ($)
'$' se uporablja za določitev končnega znaka. Če želite poiskati podatke na podlagi zadnjega znaka, lahko uporabite '$' v krogličnem vzorcu.
Primer - 1:
Za iskanje teh vrstic zaženite naslednji ukaz list.txt datoteko, ki se konča z 'do' .
$ grep a $ list.txt
Primer - 2:
Za iskanje teh vrstic zaženite naslednji ukaz list.txt datoteko, ki se konča s številko petdeset .
$ grep 50 $ list.txt
Kodrasti oklepaj - ({})
'{}' se lahko uporabi za ujemanje imen datotek z več kot enim vzorcem globanja. Vsak vzorec je ločen z ',' v kodranem oklepaju brez presledka. Nekaj primerov je navedenih spodaj.
Primer - 1:
Zaženite naslednji ukaz za iskanje datotek, katerih imena so dolga 5 znakov in so razširitve 'Sh' ali zadnja dva znaka datotek 'St' in podaljšek je 'Txt' .
$ ls -l {?????. sh,*st.txt}
Primer - 2:
Zaženite naslednji ukaz, če želite izbrisati vse datoteke, katerih razširitve so 'Doc' ali 'docx' .
$rm {*.doc,*.docx}
Cev - (|)
Znak '|' se uporablja tudi za uporabo več kot enega pogoja na vzorcu globbing. Vsak vzorec je v ukazu ločen s simbolom '|'.
Primer - 1:
Zaženite naslednji ukaz za iskanje imen datotek, ki se začnejo z znakom 'a' in imajo razširitev 'bash' ali 'sh'.
$lsdo*+(.bash|.sh)Primer - 2:
Ustvarite bash datoteko z imenom 'Menu.bash' in dodajte naslednji skript. Če uporabnik vnese 1 ali S. potem se bo natisnilo Iskanje besedila . Če uporabnik vnese 2 ali R. potem se bo natisnilo Zamenjava besedila . Če uporabnik vnese 3 ali D. potem se bo natisnilo Brisanje besedila . Natisnilo se bo Poskusi ponovno za kateri koli drug vnos.
#!/bin/bashvrgel ven 'V meniju izberite katero koli možnost:'
prebratiodgovor
Ovitek $ odgovor v
1 |S) vrgel ven 'Iskanje besedila';;
2 |R) vrgel ven 'Zamenjava besedila';;
3 |D) vrgel ven 'Brisanje besedila';;
*) vrgel ven 'Poskusi ponovno.';;
esac
Zaženite skript.
$bashmenu.bash
ZAKLJUČEK
Nekateri najpogosteje uporabljeni vzorci globbinga so v tej vadnici razloženi z zelo preprostimi primeri. Upam, da vam bo po vadbi zgornjih primerov koncept globbinga jasen in ga boste lahko uspešno uporabili v ukazih in skriptah bash.
Za več informacij si oglejte ta video: