grep

Hogyan hagyhatom figyelmen kívül az üres sorokat a Grep-ben?

Hogyan hagyhatom figyelmen kívül az üres sorokat a Grep-ben?
Grep kiáll Globális reguláris kifejezés nyomtatása. Számos funkcióval rendelkezik, azaz.e., fájlban keresés, csak egy fájl nevében keresés, rekurzív grep stb. A Grepet a keresési szektorban hatékony parancsnak tekintik. Sok esetben szembesülünk olyan helyzetekkel, amikor nincs szükségünk szóközökre, vagy szükség van az adatok nem kívánt hiányosságainak eltávolítására. A grep használatának egyik legérdekesebb módja az üres sorok figyelmen kívül hagyása vagy eltávolítása a szövegfájlból. Ezt az eljárást különböző példákkal hajtják végre. Ez egy fájlszerkesztési művelet. Ennek a célnak a teljesítéséhez meglévő fájlokkal kell rendelkeznünk a rendszerünkben. A grep paranccsal engedélyezzük az adatok üres sorok nélküli nyomtatását.

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.txt

Nincs 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.txt

Az 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ájl20

Lá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.txt

Lá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.txt

Itt 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.txt

A 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

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.

Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...
A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...