Meghatározott szöveget tartalmazó fájlok keresése Linuxban
A Linux, a használt disztribúciótól függetlenül, számos grafikus felhasználói felülettel rendelkezik, amelyek lehetővé teszik a fájlok keresését. Sok modern fájlkezelő támogatja a fájlkeresést közvetlenül a fájllistában. Azonban számos olyan helyzet adódik, amikor a konzolt kell használnia, például SSH-munkamenet közben, vagy amikor az X-kiszolgáló nem indul el. Így találhat gyorsan meghatározott szöveget tartalmazó fájlokat a terminál használatával.
Ha tudja használni a grafikus felhasználói felületet, a fájlok keresése nem jelent problémát. Kedvenc XFCE asztali környezetemben a Thunar fájlkezelő lehetővé teszi a fájlok keresését a fájlnév közvetlen beírásával a fájllistába.
Azonban az általam kipróbált fájlkezelők egyike sem teszi lehetővé a fájltartalom keresését.
A GUI-munkamenetben végzett munka során ezt a korlátozást megkerülheti a Сatfish használatával. A Сatfish egy népszerű keresőeszköz. Lehetővé teszi a fájl tartalmának keresését. Kattintson a fogaskerék ikonra, és engedélyezze az opciót Keresés a fájl tartalmában.
Ha azonban terminálról van szó, nem használhat semmilyen grafikus eszközt. Ezenkívül nem találom hasznosnak a Catfish-t, és inkább a klasszikus konzoleszközöket részesítem előnyben. Itt vannak az általam használt módszerek és eszközök.
Adott szöveget tartalmazó fájlok keresése Linux alatt, csináld a következőt.
- Nyissa meg kedvenc terminálalkalmazását. XFCE4 terminál az én személyes preferenciám.
- Írja be a következő parancsot:
find ./ -type f -exec grep -l "keresendő szöveg" {} \;
- Ez létrehozza a szükséges szövegrészt tartalmazó fájlok listáját.
A find parancs az aktuális "./" könyvtárból kiinduló fájlokat keres. Ehelyett megadhatja a kívánt útvonalat.
Az opció -típus f azt mondja neki, hogy csak a fájlokat keresse, és zárja ki a könyvtárakat. Azt is beállíthatja, hogy csak egy bizonyos fájltípusra keressen, ha hozzáadja a következő lehetőséget:find ./ -type f -name "*.txt" -exec grep -l "keresendő szöveg" {} \;
Lásd a következő képernyőképet:
Az -végrehajtó Az opció meghívja a grep eszközt az egyes egyező fájlok esetében, hogy ellenőrizze azok tartalmát. Ha a szöveg megtalálható a fájlban, a neve hozzáadódik a kimenethez, köszönhetően a -l lehetőség.
Alternatívák
A fent leírt módszereknek vannak alternatívái. Először is csak a grep eszköz. Próbáld ki a következő parancsot:
grep -iRl "keresendő szöveg" ./
- -i a szöveg figyelmen kívül hagyása.
- -R a rekurzív fájlfeldolgozást jelenti.
- Az -l jelentése "a fájlnév megjelenítése, nem magát az eredményt".
Mint látható, ez a módszer kevésbé rugalmas, mint a megtalálja parancs.
Éjfél parancsnoka
Egy másik gyakran használt módszer a Midnight Commander (mc), a konzolos fájlkezelő alkalmazás. A find-tól és a grep-től eltérően az mc alapértelmezés szerint nincs benne az összes kipróbált Linux disztribúcióban. Lehet, hogy magának kell telepítenie.
Ha konkrét szöveget tartalmazó fájlokat szeretne keresni a Midnight Commander segítségével, indítsa el az alkalmazást, és nyomja meg a következő sorrendet a billentyűzeten:
Alt + Váltás + ?
Ezzel megnyílik a keresési párbeszédpanel.
Töltse ki a "Fájlnév:" részt. Megadhat valami olyasmit, mint a „*.txt”, ha csak szöveges fájlokban keresi a szöveget.
Most töltse ki a Tartalom: doboz. Írja be a fájlok szövegét, és nyomja meg az Enter billentyűt.
Megtalálja az összes fájlt, amely megfelel a feltételeknek.
Ez az.