grep

Kako prezrem prazne črte v Grepu?

Kako prezrem prazne črte v Grepu?
Grep pomeni Globalni tisk z regularnim izrazom. Ima veliko funkcionalnosti, tj.e., iskanje v datoteki, iskanje samo po imenih datotek, grep rekurzivno itd. Grep velja za močan ukaz v iskalnem sektorju. V mnogih primerih se soočamo s situacijami, ko ne potrebujemo presledkov ali pa je treba odstraniti neželene vrzeli v naših podatkih. Eden najzanimivejših načinov uporabe grepa je prezrtje ali odstranjevanje praznih vrstic iz besedilne datoteke. Ta postopek je izveden z različnimi primeri. Gre za operacijo urejanja datotek. Če želimo doseči ta namen, moramo v našem sistemu imeti obstoječe datoteke. Z ukazom grep mu omogočimo tiskanje podatkov brez praznih vrstic.

Sintaksa

Grep [vzorec] [ime datoteke]

Po uporabi grepa pride vzorec. Vzorec pomeni način, kako ga želimo uporabiti pri odstranjevanju odvečnega prostora v podatkih. Po vzorcu je opisano ime datoteke, skozi katero se vzorec izvede.

Predpogoj

Da bomo lažje razumeli koristnost grepa, moramo imeti v našem sistemu nameščen Ubuntu. Navedite podrobnosti o uporabniku z uporabniškim imenom in geslom za privilegij pri dostopu do programov Linuxa. Po prijavi odprite aplikacijo in poiščite terminal ali uporabite bližnjično tipko ctrl + alt + T.

Z uporabo ključne besede [: blank:]

Recimo, da imamo datoteko z imenom bfile s pripono besedila. Datoteko lahko ustvarite v urejevalniku besedil ali z ukazno vrstico v terminalu. Če želite ustvariti datoteko na terminalu, vključno z naslednjimi ukazi.

$ Echo “besedilo, ki ga je treba vnesti v datoteko”> ime datoteke.txt

Datoteke ni treba ustvariti, če je že prisotna. Samo prikažite ga s priloženim ukazom:

$ echo ime datoteke.txt

Besedilo, zapisano v teh datotekah, vsebuje presledke med njimi, kot je razvidno iz spodnje slike.

Te prazne vrstice lahko odstranite s praznim ukazom, če želite prezreti prazne presledke med besedami ali nizi.

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

Po uporabi poizvedbe bodo prazni presledki med vrsticami odstranjeni, izhod pa ne bo več vseboval dodatnega prostora. Prva beseda je označena, saj so odstranjeni presledki med zadnjo besedo vrstice in med prvimi besedami naslednje vrstice. Pogoje lahko uporabimo tudi za isti grep ukaz, tako da dodamo to prazno funkcijo, da odstranimo neuporaben prostor v izhodu.

Z uporabo [: space:]

Tu je razložen še en primer ignoriranja prostora.

Ne da bi omenili pripono datoteke, bomo z uporabo ukaza najprej prikazali obstoječo datoteko.

$ cat datoteka20

Poglejmo, kako se z ukazom grep poleg ključne besede [: space:] odstrani dodaten prostor. Možnost Grep -v bo pomagala tiskati vrstice, ki nimajo praznih vrstic, in dodaten razmik, ki je prav tako vključen v obrazec odstavka.

$ grep -v '^ [[; presledek:]] * $' datoteka20

Videli boste, da so dodatne vrstice odstranjene in izhod je v zaporedni obliki po vrsticah. Tako je metodologija grep -v tako koristna pri doseganju zahtevanega cilja.

Omenjanje končnic datotek omejuje funkcijo grep samo na določenih končnicah datotek, tj.e., .besedilo oz .mp3. Ko izvajamo poravnavo besedilne datoteke, bomo vzeli fileg.txt kot vzorčna datoteka. Najprej bomo prikazali besedilo, ki je v njem, s funkcijo $ cat. Rezultat je naslednji:

Z uporabo ukaza smo dobili našo izhodno datoteko. Tu lahko vidimo podatke brez presledka med zaporedno zapisanimi vrsticami.

$ grep -v '^ [[: presledek:]] * $' datotekag.txt

Poleg dolgih ukazov lahko v Linuxu in Unixu uporabljamo tudi kratke napisane ukaze, da v njih implementiramo grep, ki podpira okrajšane znake.

$ grep '\ s' ime datoteke.txt

Videli smo, kako dobimo izhod z uporabo ukazov iz vhoda. Tu bomo izvedeli, kako se vhod ohranja nazaj iz izhoda.

$ grep '\ S' ime datoteke.txt> tmp.txt && mv tmp.txt ime datoteke.txt

Tu bomo uporabili začasno besedilno datoteko s pripono besedila, imenovano tmp.

Z uporabo ^ #

Tako kot drugi opisani primeri bomo ukaz uporabili v besedilni datoteki z ukazom cat. Besedilo lahko prikažemo tudi z ukazom echo.

$ echo ime datoteke.txt

Besedilna datoteka vsebuje 4 vrstice s presledkom. Te preslednice lahko enostavno odstranite z določenim ukazom.

$ grep -Ev "^ # | ^ $" ime datoteke

Redne razširjene operacije omogoča -E, ki omogoča vse regularne izraze, zlasti pipe. Cev se uporablja kot neobvezen pogoj "ali" v katerem koli vzorcu.”^ #”. To prikazuje ujemanje besedilnih vrstic v datoteki, ki se začne z znakom #. “^ $” Se bo ujemal z vsemi prostimi prostori v besedilu ali praznimi vrsticami.

Rezultat prikazuje popolno odstranitev odvečnega prostora med vrsticami v podatkovni datoteki. V tem primeru smo videli, da je ukaz »^ #« na prvem mestu, kar pomeni, da se besedilo najprej ujema. "^ $" Prihaja za | operaterja, tako da se prosti prostor nato uskladi.

Z uporabo ^ $

Tako kot zgoraj omenjeni primer, bomo prišli z enakimi rezultati, ker je ukaz skoraj enak. Vendar je vzorec napisan nasprotno. Datoteka22.txt je datoteka, ki jo bomo uporabili pri odstranjevanju presledkov.

$ grep -v '^ $ | ^ #' ime datoteke

Uporablja se ista metodologija, razen prednostnega dela. V skladu s tem ukazom se najprej ujemajo prosti prostori, nato se ujemajo besedilne datoteke. Izhod bo zagotovil zaporedje vrstic z odstranjevanjem dodatnih vrzeli v njih.

Drugi preprosti ukazi

Oboje je tako preprosto in pomaga pri odstranjevanju vrzeli v besedilnih vrsticah.

Zaključek

Odstranjevanje neuporabnih vrzeli v datotekah s pomočjo regularnih izrazov je dokaj enostaven pristop za doseganje gladkega zaporedja podatkov in ohranjanje doslednosti. Primeri so podrobno razloženi, da se izboljšajo vaše informacije o temi.

Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...
Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...
Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...