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.txtDatoteke ni treba ustvariti, če je že prisotna. Samo prikažite ga s priloženim ukazom:
$ echo ime datoteke.txtBesedilo, 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:]] * $' datoteka20Videli 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.txtVideli 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.txtTu 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.txtBesedilna 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
- Grep '^ ...' ime datoteke.
- Grep '.' Ime datoteke
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.