grep

Cum ignor liniile goale din Grep?

Cum ignor liniile goale din Grep?
Grep înseamnă Global Regular Expression Print. Are multe funcționalități, i.e., căutarea într - un fișier, căutarea numai în numele unui fișier, grep recursiv etc. Grep este considerat o comandă puternică în sectorul căutărilor. În multe cazuri, ne confruntăm cu situații în care nu avem nevoie de spații sau este necesar să eliminăm golurile nedorite din datele noastre. Una dintre cele mai interesante modalități de utilizare a grep este ignorarea sau eliminarea liniilor goale din fișierul text. Această procedură se realizează prin diferite exemple. Este o operație de editare a fișierelor. Pentru a trece la acest scop, trebuie să avem fișiere existente în sistemul nostru. Prin comanda grep, îi permitem să imprime date fără linii goale.

Sintaxă

Grep [model] [nume fișier]

După utilizarea grep, apare un model. Modelul implică modul în care dorim să-l folosim pentru a elimina spațiu suplimentar în date. În urma modelului, numele fișierului este descris prin intermediul căruia este realizat modelul.

Condiție prealabilă

Pentru a înțelege cu ușurință utilitatea grep, trebuie să avem Ubuntu instalat pe sistemul nostru. Furnizați detalii despre utilizator, oferind numele de utilizator și parola pentru a avea privilegii în accesarea aplicațiilor Linux. După conectare, deschideți aplicația și căutați un terminal sau aplicați tasta de comandă rapidă a ctrl + alt + T.

Utilizând cuvântul cheie [: blank:]

Să presupunem că avem un fișier numit bfile care are o extensie text. Puteți crea un fișier fie în editorul de text, fie cu o linie de comandă în terminal. Pentru a crea un fișier pe terminal, inclusiv următoarele comenzi.

$ Echo „textul care trebuie introdus într-un fișier”> numele fișierului.txt

Nu este necesar să creați un fișier dacă acesta este deja prezent. Doar afișați-l folosind comanda anexată:

$ echo nume fișier.txt

Textul scris în aceste fișiere conține spații între ele, așa cum se vede în figura de mai jos.

Aceste linii goale pot fi eliminate cu ajutorul unei comenzi goale pentru a ignora spațiile goale dintre cuvinte sau șiruri.

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

După aplicarea interogării, spațiile goale dintre linii vor fi eliminate, iar ieșirea nu va mai conține spațiu suplimentar. Primul cuvânt este evidențiat ca spații între ultimul cuvânt al liniei și între primele cuvinte ale rândului următor sunt eliminate. De asemenea, putem aplica condiții pentru aceeași comandă grep adăugând această funcție goală pentru a elimina spațiul inutil din ieșire.

Folosind [: space:]

Un alt exemplu de ignorare a spațiului este explicat aici.

Fără a menționa extensia de fișier, vom afișa mai întâi fișierul existent folosind comanda.

$ cat file20

Să vedem cum este eliminat spațiul suplimentar folosind comanda grep pe lângă cuvântul cheie [: space:]. Opțiunea -v a lui Grep vă va ajuta să imprimați liniile care nu au linii goale și spațiu suplimentar, care este inclus și într-un formular de paragraf.

$ grep -v '^ [[; spațiu:]] * $' fișier20

Veți vedea că liniile suplimentare sunt eliminate și ieșirea este într-o formă secvențiată în funcție de linie. Astfel metodologia grep -v este atât de utilă în obținerea obiectivului cerut.

Menționarea extensiilor de fișiere limitează funcționalitatea grep pentru a efectua numai pe anumite extensii de fișiere, i.e., .text sau .mp3. Pe măsură ce efectuăm o aliniere pe un fișier text, vom lua fileg.txt ca fișier eșantion. În primul rând, vom afișa textul prezent în acesta folosind funcția $ cat. Rezultatul este după cum urmează:

Prin aplicarea comenzii, fișierul nostru de ieșire a fost obținut. Aici putem vedea date fără spațierea între liniile scrise consecutiv.

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

În afară de comenzile lungi, putem merge și cu comenzile scrise scurte din Linux și Unix pentru a implementa grep acceptă caractere abreviate în acesta.

$ grep '\ s' nume de fișier.txt

Am văzut cum se obține ieșirea aplicând comenzi din intrare. Aici, vom învăța cum este menținută intrarea înapoi de la ieșire.

$ grep '\ S' numele fișierului.txt> tmp.txt && mv tmp.txt nume de fișier.txt

Aici vom folosi un fișier text temporar cu extensia textului denumită tmp.

Folosind ^ #

La fel ca alte exemple descrise, vom aplica comanda pe fișierul text folosind comanda cat. Putem afișa și text folosind comanda echo.

$ echo nume fișier.txt

Fișierul text include 4 linii în el, având spațiu între ele. Aceste linii spațiale sunt ușor de îndepărtat folosind o anumită comandă.

$ grep -Ev "^ # | ^ $" nume de fișier

Operațiunile extinse regulate sunt activate de -E, care permite toate expresiile regulate, în special pipe. O țeavă este utilizată ca condiție opțională „sau” în orice model.”^ #”. Aceasta arată potrivirea liniilor de text din fișierul care începe cu semnul #. „^ $” Se va potrivi cu toate spațiile libere din text sau liniile goale.

Ieșirea arată eliminarea completă a spațiului suplimentar între liniile prezente în fișierul de date. În acest exemplu, am văzut că în comanda că „^ #” este primul, ceea ce înseamnă că textul se potrivește mai întâi. „^ $” Vine după | operator, deci spațiul liber se potrivește după aceea.

Prin utilizarea ^ $

La fel ca exemplul menționat mai sus, vom veni cu aceleași rezultate, deoarece comanda este aproape aceeași. Cu toate acestea, modelul este scris opus. Fișier22.txt este un fișier pe care îl vom folosi la eliminarea spațiilor.

$ grep -v '^ $ | ^ #' nume de fișier

Se aplică aceeași metodologie, cu excepția lucrării cu prioritate. Conform acestei comenzi, mai întâi, spațiile libere vor fi potrivite, apoi fișierele text sunt potrivite. Ieșirea va oferi o secvență de linii prin eliminarea golurilor suplimentare din ele.

Alte comenzi simple

Ambele sunt atât de simple și ajută la eliminarea golurilor din liniile de text.

Concluzie

Eliminarea golurilor inutile din fișiere cu ajutorul expresiilor regulate este o abordare destul de ușoară pentru a obține o succesiune lină de date și pentru a menține coerența. Exemplele sunt explicate în mod detaliat pentru a vă îmbunătăți informațiile cu privire la subiect.

WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...