Gå til innhold

[LØST]Bash: Søke etter fil som inneholder "streng"


petterg

Anbefalte innlegg

Bruker find til å søke opp filer basert på filnavn.

 

Bruker cat * | grep "streng" for å finne ut om noen av filene i mappa inneholder en bestemt streng. Men denne sier bare hvor mange ganger "streng" forekommer. Den sier ikke noe om i hvilke(n) fil(er) det forekommer.

 

Hvordan kan jeg få listet opp navnene på alle filene som inneholer "streng"?

Endret av petterg
Lenke til kommentar
Videoannonse
Annonse
Bruker find til å søke opp filer basert på filnavn.

 

Bruker cat * | grep "streng" for å finne ut om noen av filene i mappa inneholder en bestemt streng. Men denne sier bare hvor mange ganger "streng" forekommer. Den sier ikke noe om i hvilke(n) fil(er) det forekommer.

 

Hvordan kan jeg få listet opp navnene på alle filene som inneholer "streng"?

Bruk find for å finne filene du er interessert i sammen med grep:

find sti -name "filnavn" -exec grep -H "streng" {} \;

eksempel, for å finne alle tekstfiler med tekststrengen "earth" i seg under katalogen du står i:

find . -name "*.txt" -exec grep -H "earth" {} \;

Edit: "{}" angir filen "find" har funnet ";" brukes for å avslutte kommandoen til "-exec" (; må escapes for at shellet ditt ikke skal 'misforstå', derfor \;)

Endret av ibrotha
Lenke til kommentar

Prøver å få --exclude="ignore" til å fungere med grep, men mulig jeg har missforstått hva den skal gjøre. Trodde den kunne brukes til å ikke liste filer som har teksten "ignore" i seg, men den eksluderer alle filer!

 

# grep -c --exclude="ignore" "streng" *

 

Har noen testfiler som inneholder ordene "streng" og "ignore" i varierende kombinasjoner. Et ord pr. linje.

Uten --exclude får jeg:

[filnavn]:[antall linjer med "streng"]

 

Med --exclude kommer ingen output, og returverdien er 0!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...