Syntax
Grep [mönster] [filnamn]
Efter att ha använt grep kommer det ett mönster. Mönstret innebär hur vi vill använda det för att ta bort extra utrymme i data. Efter mönstret beskrivs filnamnet genom vilket mönstret utförs.
Nödvändig förutsättning
För att förstå nyttan av grep enkelt måste vi ha Ubuntu installerat på vårt system. Ange användarinformation genom att ange användarnamn och lösenord för att ha behörighet att få åtkomst till Linux-applikationer. När du har loggat in öppnar du programmet och söker efter en terminal eller använder genvägsknappen för ctrl + alt + T.
Genom att använda [: blank:] nyckelord
Anta att vi har en fil med namnet bfile med ett texttillägg. Du kan skapa en fil antingen i textredigeraren eller med en kommandorad i terminalen. För att skapa en fil på terminalen, inklusive följande kommandon.
$ Echo “text som ska anges i en fil”> filnamn.TextDet finns inget behov av att skapa en fil om den redan finns. Visa det bara med det bifogade kommandot:
$ echo filnamn.TextText skriven i dessa filer innehåller mellanrum mellan dem, vilket framgår av figuren nedan.
Dessa tomma rader kan tas bort med ett tomt kommando för att ignorera tomma mellanslag mellan orden eller strängarna.
$ egrep '^ [[: blank]] * [^ [: blank:] #]' bfil.Text
Efter att frågan har tillämpats tas de tomma blankstegen mellan raderna bort och utdata kommer inte längre att innehålla extra utrymme. Det första ordet markeras när mellanslag mellan det sista ordet på raden och mellan de första orden i nästa rad tas bort. Vi kan också tillämpa villkor på samma grep-kommando genom att lägga till denna tomma funktion för att ta bort värdelöst utrymme i utdata.
Genom att använda [: space:]
Ett annat exempel på att ignorera rymden förklaras här.
Utan att nämna filtillägget visar vi först den befintliga filen med kommandot.
$ cat-fil20
Låt oss titta på hur extra utrymme tas bort med kommandot grep förutom nyckelordet [: space:]. Greps alternativ -v hjälper till att skriva ut rader som saknar tomma rader och extra avstånd som också ingår i en styckeform.
$ grep -v '^ [[; space:]] * $' file20Du kommer att se att extra rader tas bort och utdata är i sekvenserad form linjemässigt. Det är så grep -v-metoden är så bra för att uppnå det mål som krävs.
Att nämna filtillägg begränsar grep-funktionerna så att de endast kan utföra de specifika filtilläggen, dvs.e., .text eller .mp3. När vi utför en inriktning på en textfil tar vi fileg.txt som en exempelfil. Först visar vi texten i den med funktionen $ cat. Resultatet är som följer:
Genom att använda kommandot har vår utdatafil erhållits. Här kan vi se data utan avstånd mellan raderna som skrivs i följd.
$ grep -v '^ [[: space:]] * $' fileg.Text
Förutom långa kommandon kan vi också gå med de korta skrivna kommandona i Linux och Unix för att implementera grep stöder stenografiska tecken i den.
$ grep 's filnamn.TextVi har sett hur utdata erhålls genom att använda kommandon från ingången. Här kommer vi att lära oss hur input bibehålls tillbaka från output.
$ grep '\ S' filnamn.txt> tmp.txt && mv tmp.txt filnamn.TextHär använder vi en tillfällig textfil med förlängning av text som heter tmp.
Genom att använda ^ #
Precis som andra beskrivna exempel kommer vi att använda kommandot på textfilen med hjälp av cat-kommandot. Vi kan också visa text med ekokommandot.
$ echo filnamn.TextTextfilen innehåller fyra rader med mellanrum mellan dem. Dessa mellanslag tas lätt bort med ett visst kommando.
$ grep -Ev "^ # | ^ $" filnamn
Regelbundna utökade operationer aktiveras av -E, vilket tillåter alla reguljära uttryck, särskilt rör. Ett rör används som valfritt "eller" villkor i vilket mönster som helst.”^ #”. Detta visar matchningen av textrader i filen som börjar med tecknet #. “^ $” Matchar alla lediga mellanslag i texten eller tomma rader.
Utgången visar fullständigt borttagning av extra utrymme mellan raderna i datafilen. I det här exemplet har vi sett att i kommandot att ”^ #” kommer först, vilket innebär att texten matchas först. “^ $” Kommer efter | så att ledigt utrymme matchas efteråt.
Genom att använda ^ $
Precis som exemplet som nämns ovan kommer vi med samma resultat eftersom kommandot är nästan detsamma. Mönstret är dock skrivet motsatt. Fil22.txt är en fil som vi ska använda för att ta bort mellanslag.
$ grep -v '^ $ | ^ #' filnamn
Samma metod tillämpas förutom att arbeta med prioritet. Enligt det här kommandot matchas först lediga utrymmen och sedan matchas textfilerna. Utgången ger en sekvens av rader genom att ta bort extra luckor i dem.
Andra enkla kommandon
- Grep '^ ...' filnamn.
- Grep '.' Filnamn
Dessa båda är så enkla och hjälper till att ta bort luckor i textrader.
Slutsats
Att ta bort värdelösa luckor i filer med hjälp av reguljära uttryck är en ganska enkel metod för att uppnå en jämn sekvens av data och upprätthålla enhetlighet. Exempel förklaras på ett detaljerat sätt för att förbättra din information om ämnet.