HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Keresés fájlokon belül



Sokszor bosszantó, ha néhány karaktert keresünk egy fájlon belül és az XP nem találja meg, holott tudjuk, hogy ott van. Ha megnyitjuk az állományt és megismételjük a keresést már több sikerrel járunk. Létezik egy parancssori segédprogram, mely tényleg következetesen végignézi az állományok tartalmát és lényegesen pontosabb eredményt szolgáltat, mint a grafikus felület keresőrendszere.

Segédprogramunk a %systemroot%\system32 könyvtárban található FINDSTR.EXE néven. Használatához indítsunk el egy parancssori ablakot, majd a FINDSTR /? utasítással kérhetünk listát az igénybe vehető kapcsolókról. A Windows 2000 verziókban ugyanúgy megtalálható, mint az XP-ben.
Eredetileg szövegfájlokon belüli sztringek keresésére készült (erre utal a nevében található str (=string) szó), de kitűnően használható más típusú fájlokon belüli karakterláncok megtalálására is. A fájlokat az első karaktertől az utolsóig végignézi és ha megtalálta a kérdéses karaktersorozatot, megjelenít egy általunk beállított részletességű információt a képernyőn. A dokumentumokat nem tudja dekódolni, mint az indexelő szolgáltatás, ezért egy Word dokumentumon belüli keresésnél nem fogja megtalálni a magyar ékezetes karaktereket tartalmazó szavakat. Minden fájlt szövegfájlként lát és ennek megfelelően használja őket. A legtöbb esetben ez elégséges.
A keresett szövegmintában alkalmazhatunk helyettesítő karaktereket, melyek jelentős mértékben kiszélesítik a lehetőségeket.
Nézzük meg gyakorlati példákon keresztül a helyettesítő karakterek használatát:
  • Egy tetszőleges karakter
Keressük meg az aktuális mappából kiindulva az összes almappa (-s), összes fájljában (*.*) az "SQ"-val kezdődő szavakat, ahol az "SQ"-t egy tetszőleges karakter követheti (.).
findstr -s "SQ." *.*
  • Bármennyi tetszőleges karakter
Ugyanaz, mint az előbb, de az "SQ" után tetszőleges számú karakter állhat.
findstr -s "SQ*" *.*
Minden "Co"-val kezdődő és "ter"-el végződő szó keresése:
findstr -s "Co*ter" *.*
  • A kifejezés helye szerinti keresés
Ha a keresett kifejezés helyére utalunk, mindig vegyük figyelembe, hogy a fájlokat szövegfájlként "látja" a parancs.
Keressük meg azokat az állományokat, melyekben valamelyik sor elején szerepel az "SQL" szó.
findstr -s "^SQL" *.*
Ugyanez a sor végén:
findstr -s "$SQL" *.*
Nem csak sorokban, hanem szavakban is megadható az elhelyezkedés.
Az "SQ" karakterekkel kezdődő szavakat tartalmazó fájlok listázása:
findstr -s "\<SQ" *.*
És az "SQ"-ra végződőké:
findstr -s "SQ\>" *.*
  • Karakter tartományok szerinti keresés
Keressük meg azokat a fájlokat, melyekben a megadott karakter tartományban található bármelyik karakter szerepel. Tartomány lehet például [a-d], ami a következő karaktereket jelenti: a,b,c,d. A tartomány megadása ASCII táblázat szerint történik.
findstr -s [a-d] *.*
További példák
A "Computer" szó keresése az aktuális mappa, összes TXT kiterjesztésű állományában (*.txt) a kis- és nagybetűk megkülönböztetése nélkül (-i).
findstr -i "Computer" *.txt
Ugyanez, de kiírja, hogy melyik sorban voltak a találatok (-n).
findstr -i -n "Computer" *.txt
Soron belül, ennél a karakternél van a találat (-o).
findstr -i -n -o "Computer" *.txt
A keresés eredményében csak a fájlneveket jeleníti meg (-m) a találati környezetet nem.
findstr -i -m "Computer" *.txt
A -o kapcsoló hatástalan, ha a -m-et is használjuk.
Invertálhatjuk is a feltételt és megjeleníthetjük azokat a sorokat, melyek nem tartalmazzák a megadott kifejezést.
findstr -v "Computer" *.txt
Nem kötelező minden alkalommal beírni a keresési feltételt, kiolvashatjuk egy fájlból is, amit a -g kapcsoló után adunk meg.
findstr -g:minta.txt *.*
Ha a -s kapcsolót használjuk az aktuálistól számított összes alkönyvtárban történik a keresés. Szűkíthető a kör, ha beírjuk vesszővel elválasztva a -d kapcsoló után, hogy kizárólag melyik mappákra vagyunk kíváncsiak.
findstr -i -d:Dokumentumok,Backup "Computer" *.txt
Rövid áttekintés alapján is megállapítható, hogy lényegesen több lehetőséget rejt magában a FINDSTR használata, mint a grafikus felületen igénybe vehető változat.

Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2002 évkönyv 479. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |