a helyettesítő karakterek olyan karakterek, amelyek helyettesíthetik a keresések bármelyik osztályát, ezáltal nagymértékben növelve a keresések rugalmasságát és hatékonyságát.
a helyettesítő karaktereket gyakran használják a shell parancsokban Linux és más Unix-szerű operációs rendszerekben. A shell egy olyan program, amely csak szöveges felhasználói felületet biztosít, és amelynek fő funkciója a felhasználók által beírt parancsok végrehajtása és az eredmények megjelenítése.
helyettesítő karaktereket használnak reguláris kifejezésekben és programozási nyelvekben is. A reguláris kifejezések olyan mintaillesztési rendszer, amely az előre meghatározott szintaxisszabályok szerint felépített karakterláncokat (azaz karaktersorozatokat) használja a kívánt karakterláncok megtalálásához a szövegben.
a helyettesítő vagy helyettesítő kártya kifejezést eredetileg a kártyajátékokban használták egy olyan kártya leírására, amelyhez bármilyen értéket hozzá lehet rendelni, amelyet a birtokosa kíván. Használata azonban elterjedt, így ma már ismeretlen vagy kiszámíthatatlan tényező leírására használják különféle területeken.
Star Wildcard
háromféle helyettesítő karaktert használnak a Linux parancsokkal. A leggyakrabban használt és általában a leghasznosabb a csillag helyettesítő karakter, amely megegyezik a csillaggal (*). A csillag helyettesítő karakternek a legszélesebb jelentése van a helyettesítő karakterek közül, mivel nulla karaktert, minden egyes karaktert vagy bármilyen karakterláncot képviselhet.
példaként a fájl parancs információt nyújt minden fájlrendszer objektumról (azaz fájlról, könyvtárról vagy linkről), amelyet argumentumként (azaz bemenetként) adnak hozzá. Mivel a csillag helyettesítő minden karakterláncot képvisel, a fájl argumentumaként használható a megadott könyvtár minden objektumának információinak visszaadására. Így a következő információkat jelenít meg az aktuális könyvtár minden objektumáról (azaz arról a könyvtárról, amelyben a felhasználó jelenleg dolgozik):
file *
ha nincsenek egyezések, hibaüzenet jelenik meg, például *: Can ` t stat ‘ * ‘ (nincs ilyen fájl vagy könyvtár).. Ebben a példában az egyetlen módja annak, hogy ne legyenek egyezések, ha a könyvtár üres.
a helyettesítő karakterek kombinálhatók más karakterekkel a karakterláncok részeinek ábrázolására. Például, hogy képviselje bármely fájlrendszer objektum, amely egy .jpg fájlnévkiterjesztés,*.jpg lenne használni. Hasonlóképpen, az a* minden olyan objektumot képvisel, amely kisbetűvel (azaz kisbetűvel) kezdődik a.
egy másik példa, a következő azt mondja az ls parancsnak (amely a fájlok listázására szolgál), hogy megadja az aktuális könyvtár összes fájljának nevét, amelynek van egy .html vagy a .txt kiterjesztés:
ls *.html *.txt
Hasonlóképpen, az alábbiak azt mondják az RM parancsnak (amely a fájlok és könyvtárak eltávolítására szolgál), hogy törölje az összes fájlt az aktuális könyvtárban, amelynek neve xxx karakterlánc:
rm *xxx*
kérdőjel helyettesítő karakter
a kérdőjel (?) helyettesítő karakterként használják a shell parancsokban, hogy pontosan egy karaktert képviseljenek, amely bármilyen karakter lehet. Így két kérdőjel egymás után bármelyik két karaktert, egymás után három kérdőjel pedig bármely három karakterből álló karakterláncot képviselne.
így például az alábbiak az aktuális könyvtár összes objektumának adatait adnák vissza, amelyek neve, beleértve a kiterjesztéseket is, pontosan három karakter hosszú:
file ???
az alábbiak pedig adatokat szolgáltatnak minden olyan objektumról, amelynek neve egy, két vagy három karakter hosszú:
file ? ?? ???
mint a csillag helyettesítő karakter esetében, a kérdőjel helyettesítő karakter más karakterekkel kombinálva is használható. Például az alábbiak információt szolgáltatnak az aktuális könyvtár összes olyan objektumáról, amely a betűvel kezdődik, és öt karakter hosszú:
file a????
a kérdőjel helyettesítő karakter más helyettesítő karakterekkel kombinálva is használható, ha más karakter választja el egymástól. Például az alábbiak az aktuális könyvtár összes fájljának listáját adják vissza, amelyek három karakterből álló fájlnévkiterjesztéssel rendelkeznek:
ls *.???
szögletes zárójelek helyettesítő karakter
a Shell parancsokban a helyettesítő karakterek harmadik típusa egy szögletes zárójel, amely a zárójelben szereplő karakterek bármelyikét ábrázolhatja. Így például az alábbiak információt szolgáltatnak az aktuális könyvtár összes objektumáról, amelyekben x, y és/vagy z van:
file **
az alábbiakban felsoroljuk az összes fájlt, amelynek kiterjesztése x, y vagy z betűvel kezdődik:
ls *.*
ugyanez az eredmény érhető el pusztán a csillag és a kérdőjel helyettesítő karakterek használatával. Azonban egyértelműen hatékonyabb a konzol helyettesítő karakter használata.
ha a szögletes zárójelben szereplő két karakter között kötőjelet használunk, az e két karaktert tartalmazó tartományt jelöli. Például, az alábbiak információkat szolgáltatnának az aktuális könyvtár összes objektumáról, amelyek a-tól f-ig bármilyen betűvel kezdődnek:
file *
az alábbiakban az aktuális könyvtár minden olyan objektumáról adunk információt, amelynek neve legalább egy számot tartalmaz:
file **
a szögletes zárójelek használata egy tartomány jelzésére kombinálható annak használatával egy lista jelzésére. Így például az alábbiak információt szolgáltatnának minden olyan fájlrendszer-objektumról, amelynek neve A-tól c-ig bármilyen betűvel kezdődik, vagy s-vel vagy t-vel kezdődik:
file *
hasonlóképpen több tartománykészlet is megadható. Így például az alábbiak információkat adnának vissza minden olyan objektumról, amelynek neve az ábécé első három vagy utolsó három kisbetűjével kezdődik:
file *
néha hasznos lehet egy sor szögletes zárójel helyettesítő karakter. Például, az alábbiak az összes fájlnevet megjelenítenék az aktuális könyvtárban, amely jones-ból áll, amelyet egy háromjegyű szám követ:
ls jones