'?' bármelyik karakter egyezésére szolgál. Te tudod használni '?' többször is több karakter egyezéséhez.
1. példa:
Tegyük fel, hogy azokban a szöveges fájlnevekben szeretne keresni, amelyek neve 4 karakter hosszú és kiterjesztése .txt . A gömbminta alkalmazható a ' ? ’Négyszer ezt a feladatot.
Keresse meg az aktuális könyvtár összes fájljának és mappájának listáját.
$ls-az
Futtassa a következő parancsot, és keresse meg azokat a fájlokat, amelyek neve négy karakter hosszú és ismeretlen.
$ ls -l ????. txt
2. példa:
Tegyük fel, hogy azokban a dokumentumfájlokban szeretne keresni, amelyek neve 8 karakter hosszú, az első 4 karakter hosszú f, o, o és t és a kiterjesztés az dok . Futtassa a következő parancsot globális mintával a fájlok kereséséhez.
$ls -azláb ????. doki
3. példa:
Tegyük fel, hogy tudja a fájl nevét 'legjobb' és a kiterjesztés 3 karakter hosszú, de nem ismeri a kiterjesztést. Futtassa a következő parancsot a használatával ’? ”Keresni az összes„ test ”nevű fájlban, amelynek bármilyen kiterjesztése három karakter hosszú.
$ls -azlegjobb.???
Csillag - (*)
'*' nulla vagy több karakter egyezésére szolgál. Ha kevesebb információval rendelkezik bármely fájl vagy információ kereséséhez, akkor használhatja '*' gömbölyű mintában.
Példa -1:
Tegyük fel, hogy az összes fájlban szeretne keresni „Pl” kiterjesztés. Futtassa a következő parancsot a segítségével '*' hogy elvégezze azt a feladatot.
$ls -az *.pl
2. példa:
Tegyük fel, hogy csak a fájlnév kezdő karakterét ismeri 'nak nek' . Futtassa a következő parancsot a „*” használatával, hogy megkeresse az aktuális könyvtár összes fájlját, amelyek nevével kezdődik 'nak nek' .
$ls -aznak nek*.*
3. példa:
A „*” betűt a bash scriptben különböző célokra alkalmazhatja fájlok keresése nélkül. Hozzon létre egy bash fájlt 'Check.sh' a következő forgatókönyvvel. Itt, amikor a felhasználó beírja a „ y 'vagy' Y 'vagy' igen 'vagy' Igen ' azután 'megerősített' nyomtat és mikor írja be a típus „N” vagy „N”, vagy „nem” vagy „nem” azután 'Nem megerősített' nyomtatni fog.
#!/bin/bashkidobta - Megerősíteni akar?
olvasválasz
ügy $ válasz ban ben
[Ja]* ) kidobta 'megerősített.';;
[Sz]* ) kidobta 'Nem megerősített.';;
*) kidobta 'Próbáld újra.';;
esac
Futtassa a szkriptet.
$bashellenőrizze.sh
Szögletes zárójel - ([])
'[]' a tartomány karakterének megfeleltetésére szolgál. Az alábbiakban megemlítünk néhány, leggyakrabban használt tartománynyilatkozatot.
Az összes nagybetűt a tartomány határozza meg, [: felső:] vagy [A-Z].
Az összes kisbetűs ábécét a tartomány határozza meg, [: alsó:] vagy [a-z].
Az összes számjegyet a tartomány határozza meg, [: szám:] vagy [0-9].
Az összes nagy- és alsó ábécét a tartomány határozza meg, [: alfa:] vagy [a-zA-z].
Az összes nagybetűt, kisbetűt és számjegyet a tartomány határozza meg, [: alnum:] vagy [a-zA-Z0-9]
Példa -1:
Futtassa a következő parancsot, hogy megkeresse az összes fájlt és mappát, amelyek nevét tartalmazza o vagy mit vagy r vagy s .
$ls -az [p-s]*
2. példa:
Futtassa a következő parancsot az összes fájl és mappa kereséséhez, amelyek neve 1 -től 5 -ig terjedő számjeggyel kezdődik.
$ls -az [1-5]*
Hiányzik - (^)
Te tudod használni '^' szögletes zárójelben, hogy pontosabban meghatározza a gömbölyű mintát. '^' szögletes zárójelben belül vagy kívül is használható. A „^” a szögletes zárójelen kívül használható a fájl azon tartalmának keresésére, amelyek adott karaktertartománnyal kezdődnek. A „^” a szögletes zárójelben található a fájl összes tartalmának megjelenítéséhez, a sorok egy adott karaktertartománnyal kezdődő kiemelésével. Különböző típusú görbítési mintákat használhat bizonyos fájlok tartalmának kereséséhez. 'markolat' parancsot a tartalom keresésére használják bash -ban. Tegyük fel, hogy szöveges fájlja van 'List.txt' a következő tartalommal. Tesztelje az alábbi példákat erre a fájlra.
alma4000
Banán
700
narancssárga
850
Körte
9000
jackdruit
Példa - 1:
Futtassa a következő parancsot a sorok kereséséhez list.txt fájl, amely ezzel kezdődik P vagy Q vagy R .
$ grep '^[P-R]' list.txt
Példa - 2:
Futtassa a következő parancsot a sorok kiemeléséhez list.txt fájl, amely ezzel kezdődik A vagy B vagy C .
$ grep '[^A-C]' list.txt
Felkiáltójel - (!)
Te tudod használni '!' a tartománymintán belül. Ugyanúgy működik, mint a „^” szimbólum használata a tartománymintán kívül. Néhány példa a használatára '!' jelét az alábbiakban adjuk meg.
Példa - 1:
Futtassa a következő parancsot a sorok megjelenítéséhez list.txt fájl, amely ezzel kezdődik „P” vagy Q vagy R .
$ grep [! P-R] list.txt
Példa - 2:
Futtassa a következő parancsot a sorok megjelenítéséhez list.txt fájlt, amely bármelyik számjeggyel kezdődik 4-8 .
$ grep [! 4-8] list.txt
Dollárjel - ($)
'$' a befejező karakter meghatározására szolgál. Ha tudja, hogy az utolsó karakter alapján szeretne információt keresni, akkor használhatja '$' gömbölyű mintában.
Példa - 1:
Futtassa a következő parancsot a sorok kereséséhez list.txt fájl, amely végződik 'nak nek' .
$ grep a $ list.txt fájlt
Példa - 2:
Futtassa a következő parancsot a sorok kereséséhez list.txt fájlt, amely számmal végződik ötven .
$ grep 50 $ list.txt
Göndör zárójel - ({})
„{}” használható a fájlnevek egynél több globális mintával való párosítására. Minden mintát göndör zárójeles „,” jel választ el, szóköz nélkül. Néhány példa az alábbiakban található.
Példa - 1:
Futtassa a következő parancsot azoknak a fájloknak a kereséséhez, amelyek neve 5 karakter hosszú, és a kiterjesztés 'SH' vagy a fájlok utolsó két karaktere 'utca' és a kiterjesztés az 'Txt' .
$ ls -l {?????. sh,*st.txt}
Példa - 2:
Futtassa a következő parancsot az összes fájl törléséhez, amelynek kiterjesztései „Doc” vagy „docx” .
$rm {*.doc,*.docx}
Cső - (|)
A „|” jel egynél több feltétel alkalmazására is szolgál a gömbölyű mintán. A parancsban minden mintát „|” szimbólum választ el.
Példa - 1:
Futtassa a következő parancsot azoknak a fájlneveknek a kereséséhez, amelyek „a” karakterrel kezdődnek, és „bash” vagy „sh” kiterjesztéssel rendelkeznek.
$lsnak nek*+(.bash|.SH)Példa - 2:
Hozzon létre egy bash fájlt 'Menu.bash' és adja hozzá a következő szkriptet. Ha a felhasználói típus 1 vagy S akkor nyomtatni fog Szöveg keresése . Ha a felhasználói típus 2 vagy R akkor nyomtatni fog Szöveg cseréje . Ha a felhasználói típus 3 vagy D. akkor nyomtatni fog Szöveg törlése . Kinyomtatja Próbáld újra bármilyen más bemenethez.
#!/bin/bashkidobta 'Válasszon bármely lehetőséget a menüből:'
olvasválasz
ügy $ válasz ban ben
1 |S) kidobta 'Szöveg keresése';;
2 |R) kidobta 'Szöveg cseréje';;
3 |D) kidobta 'Szöveg törlése';;
*) kidobta 'Próbáld újra.';;
esac
Futtassa a szkriptet.
$bashmenü.bash
KÖVETKEZTETÉS
A leggyakrabban használt gömbölyzési minták némelyike ebben az oktatóanyagban nagyon egyszerű példákon keresztül kerül elmagyarázásra. Remélem, a fenti példák gyakorlása után a globbing fogalma világos lesz számodra, és sikeresen alkalmazhatod a bash parancsokban és parancsfájlokban.
További információért nézze meg ezt a videót: