Av Rubaiat Hossain
E-post

Grep-kommandot används för att söka efter strängar i en textfil. Här är tio exempel på grep som du kan hitta till hjälp.

Kommandot grep ger åtkomst till grep-verktyget, ett kraftfullt filhanteringsverktyg som används för att hitta mönster i textfiler. Den har många praktiska användningsfall och är verkligen en av de mest använda Linux-kommandona. Den här guiden illustrerar några enkla men ändå användbara Linux grep-kommandon som har verklig användning.

Exempel på fil för demonstration

Vi har skapat en referensfil som hjälper läsarna att förstå grep mer effektivt. Du kan skapa en kopia av den här filen genom att utfärda följande skalkommando i din terminal.

katt <> testfil
Detta är en enkel textfil som innehåller
flera strängar samt några telefonnummer
(555) 555-1234 (567) 666-2345
och e-post plus webbadresser
[email protected]
https://google.com
ftp://mywebserver.com
SLUTET

1. Hitta text i filer

För att söka efter textmönster i en fil, kör du bara grep följt av mönstrets namn. Ange också namnet på filen som innehåller texten.

instagram viewer

grep "e-post" testfil

Detta kommando visar raden i vår testfil som innehåller ordet e-post. Du kan också söka i samma text i flera filer med grep.

grep "exempel" / usr / share / dict / american-english / usr / share / dict / british-english

Ovanstående kommando visar alla instanser av ordet exempel i amerikansk engelska och brittisk engelska ordlistafiler.

2. Hitta ord för exakt matchning

Linux grep-kommandot som illustreras i det tidigare exemplet listar också rader med partiella matchningar. Använd kommandot nedan om du bara behöver de exakta förekomsten av ett ord.

grep -w "sträng" testfil

De -w eller --word-regexp alternativet grep begränsar utdata till exakta matchningar. Grep består av några ytterligare flaggor som också kan användas med standardkommandot.

Relaterad: Hur Grep fick sitt namn? Historien bakom Greps skapelse

3. Ignorera fallskillnader

Som standard söker grep efter mönster på ett skiftlägeskänsligt sätt. Du kanske vill stänga av det här om du inte vet i vilket fall mönstret är i förväg.

grep -i "denna" testfil

Använd -i eller --ignorera fall alternativ för att stänga av skiftkänslighet.

4. Räkna antalet mönster

De -c flagga står för räkna. Den visar antalet matchningar som hittades för ett visst mönster. Administratörer kan använda detta för att hämta specifik information om systemet.

Du kan pipa ps-kommandot med grep för att räkna de processer som tillhör den nuvarande användaren.

ps -ef | grep -c $ ANVÄNDARE

Följande kommando visar antalet MP3 filer som finns i en katalog.

ls ~ / Musik | grep -c .mp3

5. Visa radnummer som innehåller matchningar

Du kanske vill hitta radnumren som innehåller en viss matchning. Använd -n eller --linje nummer alternativ för grep för att uppnå detta.

katt / etc / passwd | grep -n rubaiat

Detta alternativ är särskilt användbart för felsökning av källkoder och felsökning av loggfiler. För att visa alla siffror för rader i ~ / .vimrc som används för konfigurera Vim-textredigeraren:

grep -n "set" ~ / .vimrc

6. Hitta filnamn med hjälp av tillägg

För att få en lista över alla MP3 filer som finns i ~ / Musik katalog:

ls ~ / Musik / | grep ".mp3"

Du kan ersätta .mp3 med andra tillägg för att hitta specifika filer. Följande kommando listar alla php filer som finns i den aktuella arbetskatalogen.

ls | grep ".php"

7. Hitta mönster i komprimerade filer

Linux grep-kommandot kan också hitta mönster i komprimerade filer. Du måste använda zgrep kommando för att göra detta, dock. Skapa först ett komprimerat arkiv av vårt testfil genom att skriva:

gzip testfil

Nu kan du söka efter text eller andra mönster i det resulterande arkivet.

zgrep e-post test-fil.gz

8. Hitta e-postadresser

Administratörer kan också lista e-postadresser från textfiler med kommandot Linux grep. Följande exempel gör detta genom att söka efter ett reguljärt uttrycksmönster.

grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' testfil

Du kan hitta reguljära uttryck för att göra liknande jobb eller skapa dem själv om du vet hur de fungerar.

9. Hitta telefonnummer med Grep

Du kan använda grep-reguljära uttryck för att filtrera bort telefonnummer från en textfil. Observera att du måste justera mönstret för att matcha den typ av telefonnummer du behöver.

grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} testfil

Det ovannämnda kommandot filtrerar bort tio-siffriga amerikanska telefonnummer.

10. Hitta webbadresser från källfiler

Vi kan använda kraften i grep för att lista ut webbadresser som finns i textfiler. Nedanstående kommando skriver ut alla webbadresser som finns i testfil.

grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "testfil

Vi använder igen -E alternativ för utökade reguljära uttryck. Du kan också använda egrep för att undvika att lägga till detta.

egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" test -fil

Behärskar Linux Grep Command

Vi har presenterat flera användbara exempel på Linux grep-kommandot för att hantera verkliga problem. Även om dessa exempel illustrerar kraften i grep för textbehandling måste du behärska reguljära uttryck om du vill vara superproduktiv med grep.

Ibland stöter Linux-användare på vissa situationer där de inte kommer ihåg de olika alternativen relaterade till ett kommando. Förhoppningsvis ger Linux-operativsystemet dig sätt att få kommandoradshjälp för nästan alla systemverktyg.

E-post
7 sätt att få kommandoradshjälp på Linux

Alla viktiga kommandon för att lära dig mer om Linux-kommandon från kommandoraden

Läs Nästa

Relaterade ämnen
  • Linux
  • Linux
  • Linux-kommandon
Om författaren
Rubaiat Hossain (15 artiklar publicerade)

Rubaiat är en CS-grad med en stark passion för öppen källkod. Förutom att vara en Unix-veteran, är han också intresserad av nätverkssäkerhet, kryptografi och funktionell programmering. Han är en ivrig samlare av begagnade böcker och har en oändlig beundran för klassisk rock.

Mer från Rubaiat Hossain

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.