grep

Hvordan ignorerer jeg tomme linjer i Grep?

Hvordan ignorerer jeg tomme linjer i Grep?
Grep står for Global Regular Expression Print. Den har mange funksjoner, jeg.e., søker i en fil, søker bare i navn på en fil, grep rekursivt, osv. Grep regnes som en kraftig kommando i søkesektoren. I mange tilfeller møter vi situasjoner der vi ikke trenger mellomrom, eller det er behov for å fjerne uønskede hull i dataene våre. En av de mest interessante måtene å bruke grep er å ignorere eller fjerne blanke linjer fra tekstfilen. Denne prosedyren oppnås gjennom forskjellige eksempler. Det er en operasjon av filredigering. For å gjennomgå dette formålet, må vi ha eksisterende filer i systemet vårt. Gjennom grep-kommandoen lar vi den skrive ut data uten blanke linjer.

Syntaks

Grep [mønster] [filnavn]

Etter bruk av grep kommer det et mønster. Mønsteret innebærer måten vi vil bruke det til å fjerne ekstra plass i dataene. Etter mønsteret blir filnavnet beskrevet gjennom hvilket mønsteret utføres.

Forutsetning

For å forstå nytten av grep enkelt, må vi ha Ubuntu installert på systemet vårt. Gi brukerinformasjon ved å oppgi brukernavn og passord for å ha rettigheter til å få tilgang til applikasjonene til Linux. Etter at du har logget inn, åpner du applikasjonen og søker etter en terminal eller bruker hurtigtasten til ctrl + alt + T.

Ved å bruke [: blank:] Keyword

Anta at vi har en fil som heter bfile som har en tekstutvidelse. Du kan opprette en fil enten i tekstredigerer eller med en kommandolinje i terminalen. Å lage 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 det ved hjelp av den vedlagte kommandoen:

$ echo filnavn.tekst

Tekst skrevet i disse filene inneholder mellomrom mellom dem, som vist i figuren nedenfor.

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

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

Etter at spørringen er brukt, blir de tomme mellomromene mellom linjene fjernet, og utdataene vil ikke lenger inneholde ekstra plass. Det første ordet er uthevet som mellomrom mellom det siste ordet på linjen og mellom de første ordene i neste linje fjernes. Vi kan også bruke betingelser på den samme grep-kommandoen ved å legge til denne tomme funksjonen for å fjerne ubrukelig plass i utgangen.

Ved å bruke [: space:]

Et annet eksempel på å ignorere rom forklares her.

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

$ kattfil20

La oss se på hvordan ekstra plass fjernes ved hjelp av grep-kommandoen i tillegg til nøkkelordet [: space:]. Greps alternativ -v hjelper med å skrive ut linjer som mangler blanke linjer og ekstra avstand som også er inkludert i avsnittform.

$ grep -v '^ [[; space:]] * $' file20

Du vil se at ekstra linjer fjernes og utdata er i sekvensert form linjemessig. Slik er grep -v metodikk så nyttig for å oppnå det nødvendige målet.

Nevnende filutvidelser begrenser grep-funksjonaliteten til å bare utføre på de bestemte filtypene, dvs.e., .tekst eller .mp3. Når vi utfører en justering av en tekstfil, tar vi fileg.txt som en eksempelfil. Først vil vi vise teksten som er tilstede i den ved hjelp av $ cat-funksjonen. Resultatet er som følger:

Ved å bruke kommandoen er utdatafilen vår oppnådd. Her kan vi se data uten avstand mellom linjene som skrives fortløpende.

$ 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 stenografiske tegn i den.

$ grep 's' filnavn.tekst

Vi har sett hvordan produksjonen oppnås ved å bruke kommandoer fra inngangen. Her vil vi lære hvordan input holdes tilbake fra output.

$ grep '\ S' filnavn.txt> tmp.txt && mv tmp.txt filnavn.tekst

Her vil vi bruke en midlertidig tekstfil med utvidelse av tekst som heter tmp.

Ved å bruke ^ #

Akkurat som andre eksempler som er beskrevet, vil vi bruke kommandoen på tekstfilen ved hjelp av cat-kommandoen. Vi kan også vise tekst ved hjelp av ekkokommandoen.

$ echo filnavn.tekst

Tekstfilen inneholder fire linjer, med mellomrom mellom dem. Disse mellomromslinjene fjernes enkelt ved hjelp av en bestemt kommando.

$ grep -Ev "^ # | ^ $" filnavn

Regelmessige 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 samsvarende tekstlinjer i filen som begynner med tegnet #. “^ $” Vil samsvare med alle ledige mellomrom i teksten eller de tomme linjene.

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

Ved å bruke ^ $

Akkurat som eksemplet nevnt ovenfor, kommer vi med de samme resultatene fordi kommandoen er nesten den samme. Mønsteret er imidlertid skrevet motsatt. Fil22.txt er en fil som vi skal bruke til å fjerne mellomrom.

$ grep -v '^ $ | ^ #' filnavn

Den samme metoden brukes, bortsett fra å jobbe med prioritet. I følge denne kommandoen vil først ledige mellomrom bli matchet, deretter blir tekstfilene matchet. Utgangen vil gi en rekke linjer ved å fjerne ekstra hull i dem.

Andre enkle kommandoer

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

Konklusjon

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

Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...