Hvordan søke etter tekst i en fil i UNIX

Hvordan søke etter tekst i en fil i UNIX


Søke etter tekst i en fil eller en gruppe filer er en vanlig kommandolinje oppgave for UNIX-brukere. Det oppstår mange programmering og database situasjoner og når et stort sett med filer, som en e-postarkiv, må søkes. Den grep programmet er et svært kraftig verktøy for å gjennomføre disse typer søk og er en standby på de fleste UNIX-brukere.

Bruksanvisning

1 Åpne et kommandolinje terminal hvis du bruker et grafisk grensesnitt.

2 Skriv inn grep kommandoen ved hjelp av følgende generelle form:

grep 'tekst' filbane / filnavn

der "tekst" er det du leter etter, og "filbane / filnavn" er en referanse til filen du ønsker å søke gjennom. For eksempel,

grep 'aqua' /users/michael/documents/colors.txt

vil søke gjennom filen som heter "colors.txt" i "dokumenter" -mappen til brukeren "Michael" og finne alle forekomster av "aqua".

3 Se resultatene av grep kommandoen i kommandolinjegrensesnitt. Hver gang den teksten du søker etter er funnet, grep vil produksjonen linjen i filen som inneholder teksten.

4 gjennom mange filer søke på en gang ved å bruke "-r" og / eller "*" jokertegn. For eksempel,

grep -r 'aqua' /users/michael/*.txt

vil søke gjennom "michael" brukerens katalog for teksten "aqua" i hver fil med filtypen ".txt" på grunn av "*" karakter, og vil også søke gjennom filer i undermapper i denne katalogen på grunn av "-r" alternativ. Utgangen vil forord hver linje med en referanse til filen som linjen er i.

5 Tilsett "-w" for å matche bare hele ord. For eksempel,

grep -w 'aqua' /users/michael/documents/colors.txt

vil finne alle forekomster av "aqua" som før, men vil passere ordet "akvariet", selv om det inneholder søketeksten.

Hint

  • Utforsk regulære uttrykk (regex) syntaks for å oppdage hvor kraftig grep kan være. Langt mer nyanserte søk enn de som er beskrevet her er mulig. Se Resources for en link.