grep

Kako ignoriram prazne crte u Grepu?

Kako ignoriram prazne crte u Grepu?
Grep se zalaže za Ispis globalnog regularnog izraza. Ima mnogo funkcionalnosti, tj.e., traženje u datoteci, traženje samo imena datoteke, grep rekurzivno, itd. Grep se smatra moćnom naredbom u sektoru pretraživanja. U mnogim slučajevima susrećemo se sa situacijama u kojima nam ne trebaju razmaci ili postoji potreba za uklanjanjem neželjenih praznina u našim podacima. Jedan od najzanimljivijih načina upotrebe grepa je zanemarivanje ili uklanjanje praznih redaka iz tekstualne datoteke. Ovaj se postupak provodi kroz različite primjere. To je operacija uređivanja datoteka. Da bismo prošli u tu svrhu, moramo imati postojeće datoteke u našem sustavu. Kroz naredbu grep dopuštamo joj ispis podataka bez praznih redaka.

Sintaksa

Grep [uzorak] [naziv datoteke]

Nakon upotrebe grepa, dolazi obrazac. Uzorak podrazumijeva način na koji ga želimo koristiti u uklanjanju suvišnog prostora u podacima. Slijedeći uzorak, opisuje se naziv datoteke kroz koji se uzorak izvodi.

Preduvjet

Da bismo lako razumjeli korisnost grepa, na našem sustavu mora biti instaliran Ubuntu. Navedite korisničke detalje davanjem korisničkog imena i lozinke kako biste imali povlastice u pristupu aplikacijama Linuxa. Nakon prijave otvorite program i potražite terminal ili primijenite prečac tipke ctrl + alt + T.

Korištenjem ključne riječi [: blank:]

Pretpostavimo da imamo datoteku pod nazivom bfile koja ima tekstualnu ekstenziju. Datoteku možete stvoriti u uređivaču teksta ili pomoću naredbenog retka u terminalu. Za stvaranje datoteke na terminalu, uključujući sljedeće naredbe.

$ Echo “tekst koji se unosi u datoteku”> naziv datoteke.txt

Nema potrebe za izradom datoteke ako je već prisutna. Samo ga prikažite pomoću dodane naredbe:

$ echo naziv datoteke.txt

Tekst napisan u ovim datotekama sadrži razmake između njih, kao što se vidi na donjoj slici.

Ti se prazni redovi mogu ukloniti pomoću prazne naredbe za ignoriranje praznih razmaka između riječi ili nizova.

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

Nakon primjene upita, prazni razmaci između redaka uklonit će se, a izlaz više neće sadržavati dodatni prostor. Prva je riječ istaknuta jer se uklanjaju razmaci između posljednje riječi retka i između prvih riječi sljedećeg retka. Također možemo primijeniti uvjete na istu grep naredbu dodavanjem ove prazne funkcije za uklanjanje beskorisnog prostora u izlazu.

Korištenjem [: space:]

Ovdje je objašnjen još jedan primjer ignoriranja prostora.

Bez spominjanja ekstenzije datoteke, prvo ćemo prikazati postojeću datoteku pomoću naredbe.

$ mačka datoteka20

Pogledajmo kako se uklanja dodatni prostor pomoću naredbe grep pored ključne riječi [: space:]. Grepova opcija -v pomoći će ispisu redaka kojima nedostaju prazni redovi i dodatni razmak koji je također uključen u obrazac odlomka.

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

Vidjet ćete da su dodatni retci uklonjeni i izlaz je u sekvenciranom obliku linijski. Tako je grep -v metodologija toliko korisna u postizanju traženog cilja.

Spominjanje ekstenzija datoteka ograničava grep funkciju da se izvodi samo na određenim ekstenzijama datoteka, tj.e., .tekst ili .mp3. Dok izvodimo poravnanje tekstualne datoteke, uzet ćemo fileg.txt kao ogledna datoteka. Prvo ćemo prikazati tekst koji je prisutan u njemu pomoću funkcije $ cat. Izlaz je sljedeći:

Primjenom naredbe dobivena je naša izlazna datoteka. Ovdje možemo vidjeti podatke bez razmaka između redaka koji su uzastopno napisani.

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

Osim dugih naredbi, možemo koristiti i kratke napisane naredbe u Linuxu i Unixu kako bismo u njih implementirali grep koji podržava skraćene znakove.

$ grep '\ s' naziv datoteke.txt

Vidjeli smo kako se izlaz dobiva primjenom naredbi s ulaza. Ovdje ćemo naučiti kako se ulaz održava natrag iz rezultata.

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

Ovdje ćemo koristiti privremenu tekstualnu datoteku s nastavkom teksta nazvanog tmp.

Korištenjem ^ #

Baš kao i drugi opisani primjeri, naredbu ćemo primijeniti na tekstualnu datoteku pomoću naredbe cat. Tekst možemo prikazati i pomoću naredbe echo.

$ echo naziv datoteke.txt

Tekstualna datoteka sadrži 4 retka s razmakom između njih. Te se razmaknice lako uklanjaju pomoću određene naredbe.

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

Redovne proširene operacije omogućuje -E, što omogućuje sve regularne izraze, posebno pipe. Cijev se koristi kao neobavezni uvjet "ili" u bilo kojem uzorku.”^ #”. To pokazuje podudaranje redaka teksta u datoteci koja započinje znakom #. “^ $” Će se podudarati sa svim slobodnim razmacima u tekstu ili praznim redovima.

Izlaz prikazuje potpuno uklanjanje suvišnog razmaka između linija prisutnih u podatkovnoj datoteci. U ovom primjeru vidjeli smo da je u naredbi "^ #" na prvom mjestu, što znači da se prvo podudara tekst. "^ $" Dolazi nakon | operatora, tako da se slobodni prostor usklađuje nakon toga.

Korištenjem ^ $

Baš kao i gore spomenuti primjer, doći ćemo s istim rezultatima jer je naredba gotovo ista. Međutim, obrazac je napisan suprotno. Datoteka22.txt je datoteka koju ćemo koristiti za uklanjanje razmaka.

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

Primjenjuje se ista metodologija, osim rada s prioritetom. Prema ovoj naredbi prvo će se podudarati slobodni prostori, a zatim se podudaraju tekstualne datoteke. Izlaz će pružiti slijed linija uklanjanjem dodatnih praznina u njima.

Ostale jednostavne naredbe

Oboje su tako jednostavni i pomažu u uklanjanju praznina u retcima teksta.

Zaključak

Uklanjanje beskorisnih praznina u datotekama uz pomoć regularnih izraza prilično je jednostavan pristup za postizanje glatkog slijeda podataka i održavanje dosljednosti. Primjeri su detaljno objašnjeni kako bi se poboljšali vaši podaci o temi.

5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...
Bitka za Wesnoth 1.13.6 Razvoj objavljen
Bitka za Wesnoth 1.13.6 objavljeno prošlog mjeseca, šesto je razvojno izdanje u izdanju 1.13.x series i donosi niz poboljšanja, ponajviše korisničkog ...
Kako instalirati League Of Legends na Ubuntu 14.04
Ako ste ljubitelj League of Legends, ovo je prilika za vas da testirate League of Legends. Imajte na umu da je LOL podržan na PlayOnLinux ako ste kori...