Sådan finder du en bestemt streng eller et Word i filer og kataloger


Vil du finde alle filer, der indeholder et bestemt ord eller en tekststreng på hele dit Linux-system eller et givet bibliotek. Denne artikel vil guide dig, hvordan du gør det, du lærer, hvordan man rekursivt graver gennem mapper for at finde og liste alle filer, der indeholder en given tekststreng.

En enkel måde at finde ud af er ved hjælp af grep mønster søgeværktøj, er et kraftfuldt, effektivt, pålideligt og mest populært kommandolinjeværktøj til at finde mønstre og ord fra filer eller mapper på Unix-lignende systemer.

Kommandoen nedenfor viser alle filer, der indeholder en linje med teksten "check_root", ved rekursivt og aggressivt at søge i ~/bin -mappen.

$ grep -Rw ~/bin/ -e 'check_root'

Hvor indstillingen -R fortæller grep at læse alle filer under hver mappe, rekursivt, kun efter symbolske links, hvis de er på kommandolinjen og option -w instruerer den til kun at vælge de linjer, der indeholder matches, der danner hele ord, og -e bruges til at specificere den streng (mønster), der skal søges i.

Du skal bruge sudo-kommandoen, når du søger i bestemte mapper eller filer, der kræver rodtilladelser (medmindre du administrerer dit system med rodkontoen).

 
$ sudo grep -Rw / -e 'check_root'	

For at ignorere sagsforskelle skal du bruge indstillingen -i som vist:

$ grep -Riw ~/bin/ -e 'check_root'

Hvis du vil vide den nøjagtige linje, hvor tekststrengen findes, skal du inkludere indstillingen -n .

$ grep -Rinw ~/bin/ -e 'check_root'

Forudsat at der er flere typer filer i en mappe, du ønsker at søge i, kan du også angive typen af filer, der skal søges for eksempel, ved hjælp af deres udvidelse ved hjælp af indstillingen --include .

Dette eksempel instruerer grep om kun at gennemse alle .sh filer.

$ grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

Derudover er det muligt at søge efter mere end et mønster ved hjælp af følgende kommando.

$ grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

Det er det! Hvis du kender et andet kommandolinjetrik til at finde streng eller ord i filer, skal du dele med os eller stille spørgsmål vedrørende dette emne, brug nedenstående kommentarformular.