Nyheter i Android, Telefoner, Prylar Och Recensioner

10 praktiska exempel på Linux Grep-kommandot

Kommandot grep ger tillgång till verktyget grep, ett kraftfullt filbearbetningsverktyg som används för att hitta mönster i textfiler. Det har många praktiska användningsfall och är verkligen ett av de mest använda Linux-kommandona. Den här guiden illustrerar några enkla men användbara Linux grep-kommandon som har verkliga användningsområden.

Exempelfil för demonstration

Vi har skapat en referensfil för att hjälpa 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.

cat <<END >> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
[email protected]
https://google.com
ftp://mywebserver.com
END

1. Hitta text i filer

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

grep "email" test-file

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 "example" /usr/share/dict/american-english /usr/share/dict/british-english

Kommandot ovan visar alla instanser av ordet exempel i amerikansk engelska och brittisk engelska ordboksfiler.

2. Hitta exakt matchande ord

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örekomsterna av ett ord.

grep -w "string" test-file

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

3. Ignorera kasusskillnader

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

grep -i "this" test-file

Använd -jag eller –ignorera fall alternativ för att stänga av skiftlägeskänslighet.

Relaterad  GSC Game World kommer att skapa ett metavers med NFT på STALKER 2

4. Räkna antalet mönster

De -c flaggan 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 skicka kommandot ps med grep för att räkna processerna som tillhör den aktuella användaren.

ps -ef | grep -c $USER

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

ls ~/Music | 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 alternativet grep för att uppnå detta.

cat /etc/passwd | grep -n rubaiat

Det här alternativet ä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 linjer i ~/.vimrc som används för att konfigurera Vim-textredigeraren:

grep -n "set" ~/.vimrc

6. Hitta filnamn med tillägg

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

ls ~/Music/ | grep ".mp3"

Du kan byta ut .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. Skapa först ett komprimerat arkiv av vår testfil genom att skriva:

gzip test-file

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

zgrep email test-file.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][email protected][a-zA-Z0-9]+.[a-z]{2,}' test-file

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

Relaterad  Horizon Forbidden West: nytt State of Play-evenemang i sikte? En insider är säker på det

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}' test-file

Det tidigare nämnda kommandot filtrerar bort tiosiffriga amerikanska telefonnummer.

10. Hitta URL:er från källfiler

Vi kan utnyttja kraften i grep för att lista ut webbadresser som finns i textfiler. Kommandot nedan skriver ut alla webbadresser som finns i testfil.

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

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

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

Bemästra Linux Grep-kommandot

Vi har presenterat flera användbara exempel på Linux grep-kommandot för att ta itu med 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 kan komma ihåg de olika alternativen relaterade till ett kommando. Förhoppningsvis ger operativsystemet Linux dig sätt att få kommandoradshjälp för nästan alla systemverktyg.

Om författaren

Rubaiat Hossain (47 artiklar publicerade)

Rubaiat är en CS-examen 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 aldrig sinande 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, free e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera

Relaterad  6 appar för att hitta billiga eller gratis ställen att bo på när du reser