grep

Ako môžem ignorovať prázdne riadky v Grep?

Ako môžem ignorovať prázdne riadky v Grep?
Grep znamená Globálna regulárna expresia tlače. Má veľa funkcionalít, t.j.e., prehľadávanie súboru, prehľadávanie iba názvov súborov, rekurzívne grep atď. Grep je považovaný za silný príkaz v sektore vyhľadávania. V mnohých prípadoch čelíme situáciám, keď nepotrebujeme medzery alebo je potrebné odstrániť nežiaduce medzery v našich údajoch. Jedným z najzaujímavejších spôsobov použitia grepu je ignorovanie alebo odstránenie prázdnych riadkov z textového súboru. Tento postup je uskutočnený na rôznych príkladoch. Je to operácia úpravy súborov. Aby sme tento účel podstúpili, musíme mať v našom systéme existujúce súbory. Prostredníctvom príkazu grep mu umožňujeme tlačiť údaje bez prázdnych riadkov.

Syntax

Grep [vzor] [názov súboru]

Po použití grepu prichádza vzor. Vzor naznačuje spôsob, akým ho chceme použiť na odstránenie väčšieho priestoru v dátach. Podľa vzoru je opísaný názov súboru, prostredníctvom ktorého sa vzor vykonáva.

Predpoklad

Aby sme ľahko pochopili užitočnosť grepu, musíme mať v našom systéme nainštalovaný Ubuntu. Poskytnutím podrobností o používateľovi zadaním používateľského mena a hesla získate oprávnenie pri prístupe k aplikáciám systému Linux. Po prihlásení otvorte aplikáciu a vyhľadajte terminál alebo použite klávesovú skratku ctrl + alt + T.

Použitím kľúčového slova [: blank:]

Predpokladajme, že máme súbor s názvom bfile, ktorý má príponu textu. Súbor môžete vytvoriť buď v textovom editore, alebo pomocou príkazového riadku v termináli. Na vytvorenie súboru v termináli vrátane nasledujúcich príkazov.

$ Echo „text, ktorý sa má vložiť do súboru“> názov súboru.TXT

Nie je potrebné vytvárať súbor, ak už existuje. Stačí ho zobraziť pomocou pripojeného príkazu:

$ echo názov súboru.TXT

Text napísaný v týchto súboroch obsahuje medzery medzi nimi, ako je vidieť na obrázku nižšie.

Tieto prázdne riadky je možné odstrániť pomocou prázdneho príkazu a ignorovať tak medzery medzi slovami alebo reťazcami.

$ egrep '^ [[: blank]] * [^ [: blank:] #] bfile.TXT

Po použití dotazu budú medzery medzi riadkami odstránené a výstup už nebude obsahovať ďalšie medzery. Prvé slovo je zvýraznené, pretože medzery medzi posledným slovom riadku a medzi prvými slovami nasledujúceho riadku sú odstránené. Môžeme tiež použiť podmienky na ten istý príkaz grep pridaním tejto prázdnej funkcie, aby sme odstránili zbytočné miesto vo výstupe.

Použitím [: medzera:]

Je tu vysvetlený ďalší príklad ignorovania vesmíru.

Bez uvedenia prípony súboru najskôr pomocou príkazu zobrazíme existujúci súbor.

$ súbor mačiek20

Pozrime sa, ako sa odstráni ďalší priestor pomocou príkazu grep okrem kľúčového slova [: space:]. Voľba Grep -v pomôže vytlačiť riadky, ktoré neobsahujú prázdne riadky a medzery navyše, ktoré sú tiež zahrnuté vo formulári odseku.

$ grep -v '^ [[; medzera:]] * $' súbor20

Uvidíte, že ďalšie riadky sú odstránené a výstup je v sekvenčnej podobe po riadkoch. Takto je metodológia grep -v taká užitočná pri dosahovaní požadovaného cieľa.

Spomínané prípony súborov obmedzujú, aby funkcionalita grep fungovala iba na konkrétnych príponách súborov, t.e., .text alebo .mp3. Keď vykonáme zarovnanie textového súboru, vezmeme fileg.txt ako vzorový súbor. Najskôr pomocou funkcie $ cat zobrazíme text, ktorý sa v ňom nachádza. Výstup je nasledovný:

Použitím príkazu bol získaný náš výstupný súbor. Tu vidíme údaje bez medzery medzi riadkami, ktoré sú postupne zapísané.

$ grep -v '^ [[: space:]] * $' fileg.TXT

Okrem dlhých príkazov môžeme v Linuxe a Unixe pomocou krátkych písomných príkazov implementovať aj grep podporuje skratkové znaky.

$ grep názov súboru.TXT

Videli sme, ako sa výstup získava aplikáciou príkazov zo vstupu. Tu sa dozvieme, ako je vstup udržiavaný späť z výstupu.

$ grep '\ S' názov súboru.txt> tmp.txt && mv tmp.názov súboru txt.TXT

Tu použijeme dočasný textový súbor s príponou textu s názvom tmp.

Použitím ^ #

Rovnako ako ďalšie opísané príklady použijeme príkaz na textový súbor pomocou príkazu cat. Text môžeme zobraziť aj pomocou príkazu echo.

$ echo názov súboru.TXT

Textový súbor obsahuje 4 riadky, medzi ktorými je medzera. Tieto medzery sa dajú ľahko odstrániť pomocou konkrétneho príkazu.

$ grep -Ev "^ # | ^ $" názov súboru

Pravidelné rozšírené operácie sú povolené znakom -E, ktorý umožňuje všetky regulárne výrazy, najmä pipe. Rúrka sa používa ako voliteľný stav „alebo“ v ľubovoľnom vzore.„^ #“. Zobrazuje sa zhoda textových riadkov v súbore, ktorá začína znakom #. „^ $“ Sa zhoduje so všetkými voľnými medzerami v texte alebo prázdnymi riadkami.

Výstup ukazuje úplné odstránenie medzery medzi riadkami v dátovom súbore. V tomto príklade sme videli, že v príkaze „^ #“ je na prvom mieste, čo znamená, že text sa porovná ako prvý. „^ $“ Nasleduje po | operátor, takže sa potom porovná voľné miesto.

Použitím ^ $

Rovnako ako v príklade uvedenom vyššie, prídeme s rovnakými výsledkami, pretože príkaz je takmer rovnaký. Vzor je však napísaný opačne. Súbor22.txt je súbor, ktorý použijeme pri odstraňovaní medzier.

$ grep -v '^ $ | ^ #' názov súboru

Rovnaká metodika sa uplatňuje okrem práce s prioritou. Podľa tohto príkazu sa najskôr porovnajú voľné medzery, potom sa zosúladia textové súbory. Výstup poskytne postupnosť riadkov odstránením ďalších medzier.

Ostatné jednoduché príkazy

Oba sú také jednoduché a pomáhajú pri odstraňovaní medzier v textových riadkoch.

Záver

Odstránenie zbytočných medzier v súboroch pomocou regulárnych výrazov je celkom ľahký prístup k dosiahnutiu plynulého sledu údajov a zachovaniu konzistencie. Príklady sú vysvetlené podrobne, aby ste vylepšili svoje informácie týkajúce sa danej témy.

Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...