Hvordan ignorerer jeg blanke linjer i grep?

Hvordan ignorerer jeg blanke linjer i grep?
grep står for Global Regular Expression Print. Det har mange funksjonaliteter, jeg.e., Søker i en fil, og søker bare navn på en fil, GREP rekursivt osv. GREP regnes som en kraftig kommando i Linux -kommandoporteføljen når det gjelder søk. I mange tilfeller står vi overfor situasjoner der vi ikke trenger mellomrom, eller det er behov for å fjerne uønskede hull i dataene våre. En av de mest utfordrende måtene å bruke grep på er å ignorere eller fjerne blanke linjer fra tekstfilen. Denne prosedyren oppnås gjennom forskjellige eksempler, så les videre nedenfor for å se hvordan det er gjort.

Syntaks

grep [mønster] [filnavn]

Etter å ha brukt grep, kommer det et mønster. Mønsteret innebærer måten vi ønsker å bruke det på å fjerne ekstra plass i dataene. Etter mønsteret beskrives filnavnet som mønsteret utføres.

Forutsetning

For å forstå nytten av grep enkelt, må vi ha Ubuntu installert på systemet vårt. Oppgi brukerdetaljer ved å oppgi brukernavn og passord for å ha privilegier når du får tilgang til applikasjonene til Linux. Etter å ha logget inn, åpner du applikasjonen og søk etter en terminal eller bruk hurtigtasten til Ctrl+ALT+T.

Ved å bruke [: blank:] nøkkelord

Du kan opprette en fil enten på tekstredigerer eller med en kommandolinje i terminalen. For å opprette en fil på terminalen, inkludert følgende kommandoer.

$ ECHO “Tekst som skal legges inn i en fil”> Filnavn.tekst

Det er ikke nødvendig å opprette en fil hvis den allerede er til stede. Bare vis den ved hjelp av den vedlagte kommandoen:

$ kattfilnavn.tekst

Anta at vi har en fil som heter Bfile som har en tekstutvidelse. Tekst skrevet i disse filene inneholder mellomrom mellom dem, som sett på figuren nedenfor.

$ ekko "Jeg heter Guria.
jeg er en god student.
Jeg leste i klasse 5.
jeg har en bror og en søster
Min mor er en huskone
jeg vil gå på skolen
"> Bfile.tekst

Vis filinnholdet som vist nedenfor:

$ katt bfile.tekst

Disse blanke linjene kan fjernes ved hjelp av en tom kommando for å ignorere tomme mellomrom mellom ordene eller strengene.

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

Etter å ha påført spørringen, vil de blanke plassene mellom linjene bli fjernet, og utgangen vil ikke lenger inneholde ekstra plass. Det første ordet blir fremhevet som mellomrom mellom linjens siste ord og mellom de første ordene i neste linje fjernes. Vi kan også bruke forhold på samme GREP -kommando ved å legge til denne blanke funksjonen for å fjerne ubrukelig plass i utgangen.

Ved å bruke [: Space:]

Et annet eksempel på å ignorere rom blir forklart her. La oss først lage vår tekstfil på terminalen:

$ ekko "Mitt navn er Hamna
Jeg er en huskone
Jeg vil lære programmering
Jeg har en datter
"> File20

Uten å nevne filforlengelse, vil vi først vise den eksisterende filen ved hjelp av kommandoen.

$ CAT File20

La oss se på hvor ekstra plass fjernes ved å bruke GREP -kommandoen foruten [: Space:] nøkkelordet. Greps -v -alternativet vil hjelpe deg.

$ grep -v '^[[: Space:]]*$' File20

Du vil se at ekstra linjer blir fjernet og utgangen er i sekvensert formlinjevis. Slik er grep -v -metodikk så nyttig for å oppnå det nødvendige målet.

La oss gjøre et annet eksempel med følgende datafil:

$ ekko "grep er en allsidig kommando som hjelper ny bruker.
Det brukes til å søke på filnavn ved hjelp av kommandoer.
Vi kan dra til Mannual ved å bruke Grep Man
"> Fileg.tekst

Utgangen er som følger:

Ved å bruke kommandoen er vår utgangsfil blitt innhentet. Her kan vi se data uten avstand mellom linjene som er sammenhengende skrevet.

$ grep -v '^[[: Space:]]*$' Fileg.tekst

Foruten lange kommandoer, kan vi også gå med de korte skriftlige kommandoene i Linux og UNIX for å implementere GREP støtter korthåndspersoner i IT.

$ grep '\ s' fileg.tekst

Vi har sett hvordan utgangen oppnås ved å bruke kommandoer fra inngangen. Her lærer vi hvordan innspill opprettholdes tilbake fra utgangen.

$ grep '\ s' fileg.txt> tmp.txt && mv tmp.TXT FILEG.tekst

Her vil vi bruke en midlertidig tekstfil med utvidelse av tekst kalt TMP for å overføre det filtrerte innholdet tilbake til den originale filen.

Ved å bruke ^#

La oss opprette en ny datafil for å teste denne syntaksversjonen:

$ ekko "Grafisk design er en god plattform for design
og lage logoer visittkort
og plakater osv. Photoshop
og illustratør brukes til det "> fileb.tekst
$ katt filb.tekst

Tekstfilen inneholder 4 linjer i den, og har plass mellom seg. Disse romlinjene fjernes enkelt ved hjelp av en bestemt kommando.

$ grep -ev "^#|^$" fileb.tekst

Vanlige utvidede operasjoner er aktivert av -e, som tillater alle vanlige uttrykk, spesielt rør. Et rør brukes som en valgfri "eller" tilstand i ethvert mønster.”^#”. Dette viser matching av tekstlinjer i filen som begynner med skiltet #. “^$” Vil samsvare med alle gratis mellomrom i teksten eller blanke linjene.

Utgangen viser fullstendig fjerning av ekstra mellomrom mellom linjene som er til stede i datafilen. I dette eksemplet har vi sett at i kommandoen at ”^#” kommer først, noe som betyr at teksten blir matchet først. “^$” Kommer etter | operatør, så ledig plass blir matchet etterpå.

Ved å bruke ^$

Akkurat som eksemplet som er nevnt ovenfor, vil vi komme med de samme resultatene fordi kommandoen er nesten den samme. Imidlertid er mønsteret skrevet motsatt. File22.TXT er en fil, som vi skal bruke til å fjerne rom.

$ ekko "Teknisk skriving er en god studiefang
Det er et analytisk felt
Vi kan lære mange ting i det
Forretningsskriving er dens kategori av skriver
Takk for læring "> File22.tekst
$ grep -v '^$' File22.tekst

Den samme metodikken brukes bortsett fra å jobbe med prioritet. I henhold til denne kommandoen, først vil gratis mellomrom bli matchet, så blir tekstfilene matchet. Utgangen vil gi en sekvens av linjer ved å fjerne ekstra hull i dem.

Andre enkle kommandoer

grep '^...' fil22.tekst
grep '.'File22.tekst

Disse begge er så enkle og hjelper til med å fjerne hull i tekstlinjer.

Konklusjon

Å fjerne ubrukelige hull i filer ved hjelp av vanlige uttrykk er en ganske enkel tilnærming for å oppnå en jevn sekvens av data og opprettholde konsistens. Eksempler forklares på en detaljert måte for å forbedre informasjonen din om emnet.