'?' sa používa na priradenie ľubovoľného jedného znaku. Môžeš použiť '?' viackrát na priradenie viacerých znakov.
Príklad-1:
Predpokladajme, že chcete hľadať v tých textových názvoch súborov, ktorých názvy majú 4 znaky a príponu .TXT . Globbovací vzor môžete použiť pomocou príkazu „ ? “Na vykonanie tejto úlohy štyrikrát.
Vyhľadajte zoznam všetkých súborov a priečinkov v aktuálnom adresári.
$ls-ten
Spustite nasledujúci príkaz a vyhľadajte súbory, ktorých názvy sú štyri znaky dlhé a neznáme.
$ ls -l ????. txt
Príklad 2:
Predpokladajme, že chcete hľadať v súboroch dokumentov, ktorých názvy sú 8 znakov dlhé, prvé 4 znaky sú f, o, o a t a rozšírenie je doc . Na vyhľadanie súborov spustite nasledujúci príkaz s globbovacím vzorom.
$ls -tennoha ????. doc
Príklad 3:
Predpokladajme, že poznáte názov súboru „Najlepší“ a rozšírenie má 3 znaky, ale rozšírenie nepoznáte. Spustite nasledujúci príkaz pomocou ‘? “Na vyhľadanie všetkých súborov s názvom„ test “s akoukoľvek príponou troch znakov.
$ls -tennajlepšie. ???
Hviezdička - (*)
'*' sa používa na priradenie nuly alebo viacerých znakov. Ak máte menej informácií na vyhľadávanie akéhokoľvek súboru alebo informácií, môžete použiť '*' v guľovom vzore.
Príklad -1:
Predpokladajme, že chcete prehľadávať všetky súbory z „Pl“ predĺženie. Spustite nasledujúci príkaz pomocou '*' splniť túto úlohu.
$ls -ten *.pl
Príklad 2:
Predpokladajme, že poznáte začiatočný znak iba názvu súboru, ktorý je „do“ . Spustite nasledujúci príkaz pomocou „*“ a vyhľadajte všetky súbory v aktuálnom adresári, ktorých názvy začínajú „do“ .
$ls -tendo*.*
Príklad 3:
„*“ V skriptu bash môžete použiť na rôzne účely bez hľadania súborov. Vytvorte bash súbor s názvom 'Check.sh' s nasledujúcim skriptom. Tu používateľ zadá „ y “alebo„ Y “alebo„ áno “alebo„ áno “ potom „Potvrdené“ vytlačí a kedy typ napíše „N“ alebo „N“ alebo „nie“ alebo „nie“ potom 'Nepotvrdené' vytlačí.
#!/bin/bashzahodil „Chcete to potvrdiť?“
čítaťodpovedz
prípad $ odpoveď v
[Áno]* ) zahodil 'potvrdené.';;
[Č]* ) zahodil 'Nepotvrdené.';;
*) zahodil „Skúste to znova.“;;
esac
Spustite skript.
$bashcheck.sh
Hranatá zátvorka - ([])
„[]“ sa používa na priradenie postavy z rozsahu. Niektoré z väčšinou používaných vyhlásení o dosahu sú uvedené nižšie.
Všetky veľké abecedy sú definované rozsahom ako, [: veľké:] alebo [A-Z].
Všetky malé abecedy sú definované rozsahom ako, [: nižšie:] alebo [a-z].
Všetky číselné číslice sú definované rozsahom ako, [: číslica:] alebo [0-9].
Všetky veľké a malé abecedy sú definované rozsahom ako, [: alfa:] alebo [a-zA-z].
Všetky veľké abecedy, malé abecedy a číslice sú definované rozsahom ako, [: alnum:] alebo [a-zA-Z0-9]
Príklad -1:
Spustením nasledujúceho príkazu vyhľadajte všetky súbory a priečinky, ktorých názov obsahuje p alebo čo alebo r alebo s .
$ls -ten [p-s]*
Príklad 2:
Spustením nasledujúceho príkazu vyhľadáte všetky súbory a priečinky, ktorých názov začína ľubovoľnou číslicou od 1 do 5.
$ls -ten [1-5]*
Chýba mu - (^)
Môžeš použiť „^“ so hranatou zátvorkou na presnejšie definovanie vzoru globalizácie. „^“ môže byť použitý vo vnútri alebo mimo hranatej zátvorky. „^“ Sa používa mimo hranatej zátvorky na vyhľadávanie obsahu súboru, ktorý začína daným rozsahom znakov. „^“ Sa používa v hranatej zátvorke na zobrazenie celého obsahu súboru zvýraznením riadkov začínajúcich daným rozsahom znakov. Na vyhľadávanie konkrétneho obsahu v súbore môžete použiť rôzne typy vzorov globovania. 'úchop' príkaz sa používa na vyhľadávanie obsahu v bash. Predpokladajme, že máte textový súbor s názvom „List.txt“ s nasledujúcim obsahom. Pre daný súbor vyskúšajte nasledujúce príklady.
Apple4000
Banán
700
Oranžová
850
Hruška
9000
jackdruit
Príklad - 1:
Spustením nasledujúceho príkazu vyhľadajte tieto riadky list.txt súbor, ktorý začína na P alebo Q alebo R. .
$ grep '^[P-R]' list.txt
Príklad - 2:
Spustením nasledujúceho príkazu zvýraznite tieto riadky list.txt súbor, ktorý začína na A alebo B alebo C. .
$ grep '[^A-C]' list.txt
Výkričník - (!)
Môžeš použiť '!' vo vnútri vzoru rozsahu. Funguje to rovnako ako použitie symbolu „^“ mimo vzor rozsahu. Niekoľko príkladov použitia '!' značka je uvedená nižšie.
Príklad - 1:
Spustite nasledujúci príkaz, aby ste zobrazili tieto riadky list.txt súbor, ktorý začína na „P“ alebo Q alebo R. .
$ grep [! P-R] list.txt
Príklad - 2:
Spustite nasledujúci príkaz, aby ste zobrazili tieto riadky list.txt súbor, ktorý začína ľubovoľným číslom z 4 až 8 .
$ grep [! 4-8] list.txt
Znak dolára - ($)
'$' sa používa na definovanie koncového znaku. Ak viete, že chcete vyhľadávať informácie podľa posledného znaku, môžete použiť '$' v guľovom vzore.
Príklad - 1:
Spustením nasledujúceho príkazu vyhľadajte tieto riadky list.txt súbor, ktorý končí príponou „do“ .
$ grep a $ list.txt
Príklad - 2:
Spustením nasledujúceho príkazu vyhľadajte tieto riadky list.txt súbor, ktorý končí číslom päťdesiat .
$ grep 50 $ list.txt
Kučeravá zátvorka - ({})
'{}' môžu byť použité na priradenie názvov súborov k viac ako jednému globbovacím vzorom. Každý vzor je v zloženej zátvorke oddelený znakom „,“ bez medzery. Niektoré príklady sú uvedené nižšie.
Príklad - 1:
Spustením nasledujúceho príkazu vyhľadajte súbory, ktorých názvy majú 5 znakov a príponu 'Sh' alebo sú posledné dva znaky súborov 'St' a rozšírenie je 'TXT' .
$ ls -l {?????. sh,*st.txt}
Príklad - 2:
Spustením nasledujúceho príkazu vymažete všetky súbory, ktorých prípony sú „Doc“ alebo „docx“ .
$rm {*.doc,*.docx}
Rúra - (|)
Znak „|“ sa používa aj na aplikáciu viac ako jednej podmienky na globbovací vzor. Každý vzor je v príkaze oddelený symbolom „|“.
Príklad - 1:
Spustite nasledujúci príkaz a vyhľadajte názvy súborov, ktoré začínajú znakom „a“ a majú príponu „bash“ alebo „sh“.
$lsdo*+(.bash|.sh)Príklad - 2:
Vytvorte bash súbor s názvom „Menu.bash“ a pridajte nasledujúci skript. Ak používateľ zadá 1 alebo S. potom sa to vytlačí Hľadanie textu . Ak používateľ zadá 2 alebo R. potom sa to vytlačí Výmena textu . Ak používateľ zadá 3 alebo D potom sa to vytlačí Odstraňuje sa text . Vytlačí sa Skúste to znova pre akýkoľvek iný vstup.
#!/bin/bashzahodil 'Vyberte ľubovoľnú možnosť z ponuky:'
čítaťodpovedz
prípad $ odpoveď v
1 |S) zahodil 'Hľadanie textu';;
2 |R.) zahodil „Nahrádza text“;;
3 |D) zahodil „Odstraňuje sa text“;;
*) zahodil „Skúste to znova.“;;
esac
Spustite skript.
$bashmenu.bash
ZÁVER
Niektoré z najbežnejšie používaných glóbusových vzorov sú v tomto návode vysvetlené pomocou veľmi jednoduchých príkladov. Dúfam, že po precvičení vyššie uvedených príkladov vám bude koncept globbingu jasný a budete ho môcť úspešne použiť v príkazoch a skriptoch bash.
Ak chcete získať ďalšie informácie, pozrite si toto video: