Szintaxis
Grep [minta] [fájlnév]
A grep használata után jön egy minta. A minta azt sugallja, hogy miként szeretnénk felhasználni az adatokban lévő extra hely eltávolításához. A mintát követve leírják a fájlnevet, amelyen keresztül a mintát végrehajtják.
Előfeltétel
A grep hasznosságának egyszerű megértéséhez telepítenünk kell az Ubuntut a rendszerünkre. Felhasználói adatok megadásával adja meg a felhasználónevet és a jelszót, hogy jogosultságokkal rendelkezzen a Linux alkalmazásaihoz való hozzáféréshez. Bejelentkezés után nyissa meg az alkalmazást, és keressen egy terminált, vagy használja a ctrl + alt + T billentyűkombinációt.
A [: blank:] kulcsszó használatával
Tegyük fel, hogy van egy bfile nevű fájl, amelynek szövegkiterjesztése van. Fájlokat létrehozhat a szövegszerkesztőben vagy a terminál parancssorával. Fájl létrehozása a terminálon, a következő parancsokkal együtt.
$ Echo „fájlba beírandó szöveg”> fájlnév.txtNincs szükség fájl létrehozására, ha az már megvan. Csak jelenítse meg a mellékelt paranccsal:
$ echo fájlnév.txtAz ezekbe a fájlokba írt szöveg szóközöket tartalmaz közöttük, amint az az alábbi ábrán látható.
Ezek az üres sorok egy üres paranccsal távolíthatók el a szavak vagy karakterláncok közötti üres helyek figyelmen kívül hagyása érdekében.
$ egrep '^ [[: blank]] * [^ [: blank:] #]' bfile.txt
A lekérdezés alkalmazása után a sorok közötti üres helyek eltávolításra kerülnek, és a kimenet már nem tartalmaz extra helyet. Az első szó kiemelésre kerül, amikor a sor utolsó szava és a következő sor első szavai közötti szóközök törlődnek. Feltételeket is alkalmazhatunk ugyanarra a grep parancsra, ha hozzáadjuk ezt az üres függvényt a haszontalan hely eltávolításához a kimenetben.
A [: space:] használatával
A tér figyelmen kívül hagyásának egy másik példáját itt fejtjük ki.
A fájlkiterjesztés megemlítése nélkül először a parancs segítségével jelenítjük meg a meglévő fájlt.
$ cat fájl20
Nézzük meg, hogyan távolítható el a többlethely a grep paranccsal a [: space:] kulcsszó mellett. A Grep -v opciója segíteni fog olyan sorok kinyomtatásában, amelyekből hiányzik az üres sor és az extra szóköz, amely szintén szerepel a bekezdésekben.
$ grep -v '^ [[; szóköz:]] * $' fájl20Látni fogja, hogy az extra sorok eltávolításra kerülnek, és a kimenet sorrendben, sorrendben. A grep -v módszertan ennyire segít a kívánt cél elérésében.
A fájlkiterjesztések megemlítése korlátozza a grep funkciót, hogy csak az adott fájlkiterjesztésekre hajtson végre, azaz.e., .szöveg vagy .mp3. Amint végzünk egy igazítást egy szövegfájlon, a fileg fájlt vesszük.txt mint fájl. Először a $ cat függvény segítségével jelenítjük meg a benne lévő szöveget. A kimenet a következő:
A parancs alkalmazásával megszereztük a kimeneti fájlunkat. Itt láthatunk adatokat anélkül, hogy egymás után írnánk a sorokat.
$ grep -v '^ [[: szóköz:]] * $' fájl.txt
A hosszú parancsok mellett a Linux és a Unix rövid írott parancsai mellett a grep támogatja a rövidített karaktereket is.
$ grep '\ s' fájlnév.txtLáttuk, hogyan érhető el a kimenet a bemenet parancsainak alkalmazásával. Itt megtudhatjuk, hogy az input hogyan marad vissza a kimenetből.
$ grep '\ S' fájlnév.txt> tmp.txt && mv tmp.txt fájlnév.txtItt egy ideiglenes szövegfájlt fogunk használni, amelynek kiterjesztése a tmp.
A ^ # használatával
A leírt más példákhoz hasonlóan a parancsot a cat fájl segítségével is alkalmazzuk a szövegfájlra. Szöveget is megjeleníthetünk az echo paranccsal.
$ echo fájlnév.txtA szöveges fájl 4 sort tartalmaz, köztük helyet. Ezek a szóközök könnyen eltávolíthatók egy adott paranccsal.
$ grep -Ev "^ # | ^ $" fájlnév
A rendszeres kiterjesztett műveleteket az -E engedélyezi, amely lehetővé teszi az összes reguláris kifejezést, különösen a pipát. A csövet opcionális „vagy” feltételként használják bármilyen mintában.”^ #”. Ez megmutatja a szöveges sorok egyezését a fájlban, amely # jellel kezdődik. A „^ $” megegyezik a szöveg vagy az üres sorok szabad helyével.
A kimenet az adatfájlban található sorok közötti többlethely teljes eltávolítását mutatja. Ebben a példában azt láttuk, hogy abban a parancsban, hogy a „^ #” az első, ami azt jelenti, hogy a szöveg először illeszkedik. A „^ $” a | után következik operátor, így a szabad hely utólag megegyezik.
A ^ $ használatával
Csakúgy, mint a fent említett példa, ugyanezekkel az eredményekkel fogunk érkezni, mert a parancs majdnem ugyanaz. A minta azonban ellentétesen van megírva. File22.A txt egy fájl, amelyet a szóközök eltávolításakor fogunk használni.
$ grep -v '^ $ | ^ #' fájlnév
Ugyanezt a módszert alkalmazzák, kivéve a prioritással való munkát. E parancs szerint először a szabad helyeket, majd a szöveges fájlokat illesztik össze. A kimenet sorok sorozatát biztosítja, eltávolítva azokon a további hézagokat.
Egyéb egyszerű parancsok
- Grep '^…' fájlnév.
- Grep '.' Fájl név
Mindkettő olyan egyszerű, és segít eltávolítani a szövegsorok hiányosságait.
Következtetés
A fájlok haszontalan hiányosságainak megszüntetése a reguláris kifejezések segítségével meglehetősen egyszerű megközelítés a sima adatsor elérése és a konzisztencia fenntartása érdekében. A példák részletes ismertetése a témával kapcsolatos információk bővítése érdekében.