Kirjoittaja Aihe: Tiedostojen etsiminen hakusanoilla (Ratkaistu)  (Luettu 3490 kertaa)

eelis

  • Käyttäjä
  • Viestejä: 187
    • Profiili
Tiedostojen etsiminen hakusanoilla (Ratkaistu)
« : 27.08.08 - klo:12.26 »
Terve!

Mun pitäisi löytää tiedosto, jossa on tiettyjä sanoja. Löydän kyllä
sanat näin:

Koodia: [Valitse]
cat * | grep "SUBROUTINE ListAddLogical"
eli toi SUBROUTINE ListAddLogical on se mitä haen.
Bashi tulostaa mulle

Koodia: [Valitse]
cat: binio: Is a directory
    SUBROUTINE ListAddLogical( List,Name,LValue )
    END SUBROUTINE ListAddLogical
    SUBROUTINE ListAddLogical( List,Name,LValue )
    END SUBROUTINE ListAddLogical
cat: view3d: Is a directory
cat: viewaxis: Is a directory

eli se kyllä löytää ne sanat, mutta en tiedä mistä se ne löysi.
Onkohan tuossa grepissä joku vipu millä se ilmoittaa myös
sen tiedoston. Vai pitääkö turvautua johonkin skriptiin, joka
aina tulostaa läpikäytävän tiedoston?

Muoks. otsikko
« Viimeksi muokattu: 27.08.08 - klo:13.16 kirjoittanut eelis »

Tuxer

  • Käyttäjä
  • Viestejä: 657
  • Debian 7.0, Sailfish
    • Profiili
    • opendimension.org
Vs: Tiedostojen etsiminen hakusanoilla
« Vastaus #1 : 27.08.08 - klo:12.36 »
Itse käytän tällaista jatkuvasti:

Koodia: [Valitse]
find . -name '*.php' | xargs grep -i "etsittava juttu"
Eli tuo etsii työhakemiston kaikista hakemistoista php-päätteiset tiedostot ja tyrkkää ne grepille
"Menehän Tonttu Tomera tarkastamaan ollaanko korsuissa kiltisti."
Fingerpori

eelis

  • Käyttäjä
  • Viestejä: 187
    • Profiili
Vs: Tiedostojen etsiminen hakusanoilla (Ratkaistu)
« Vastaus #2 : 27.08.08 - klo:13.13 »
eikun hups.... Mähän käytin ihan hassusti tuota greppiä...
Ratkaisuna oli tällainen:
Koodia: [Valitse]
grep "SUBROUTINE ListAddLogical" *
Tämä siis etsii tuota tekstiä kaikista kansion tiedostoista, ja ilmoittaa
sitten, että mistä se ne löysi...

Kiitoksia Arille vastauksesta.

Tuxer

  • Käyttäjä
  • Viestejä: 657
  • Debian 7.0, Sailfish
    • Profiili
    • opendimension.org
Vs: Tiedostojen etsiminen hakusanoilla (Ratkaistu)
« Vastaus #3 : 27.08.08 - klo:13.24 »
eikun hups.... Mähän käytin ihan hassusti tuota greppiä...
Ratkaisuna oli tällainen:
Koodia: [Valitse]
grep "SUBROUTINE ListAddLogical" *
Tämä siis etsii tuota tekstiä kaikista kansion tiedostoista, ja ilmoittaa
sitten, että mistä se ne löysi...

Kiitoksia Arille vastauksesta.
Eipä kestä.
Sellainen ero tuossa on se, että findin avulla saa myös alihakemistot mukaan, mikä ei käsittääkseni grepillä onnistu.
"Menehän Tonttu Tomera tarkastamaan ollaanko korsuissa kiltisti."
Fingerpori

eelis

  • Käyttäjä
  • Viestejä: 187
    • Profiili
Vs: Tiedostojen etsiminen hakusanoilla (Ratkaistu)
« Vastaus #4 : 27.08.08 - klo:13.53 »
eikun hups.... Mähän käytin ihan hassusti tuota greppiä...
Ratkaisuna oli tällainen:
Koodia: [Valitse]
grep "SUBROUTINE ListAddLogical" *
Tämä siis etsii tuota tekstiä kaikista kansion tiedostoista, ja ilmoittaa
sitten, että mistä se ne löysi...

Kiitoksia Arille vastauksesta.
Eipä kestä.
Sellainen ero tuossa on se, että findin avulla saa myös alihakemistot mukaan, mikä ei käsittääkseni grepillä onnistu.

katsoin man-sivulta, niin grepille saa vivulla -R alihakemistot. Voi myös käyttää rgrep-komentoa, joka on
sama asia.

Tuxer

  • Käyttäjä
  • Viestejä: 657
  • Debian 7.0, Sailfish
    • Profiili
    • opendimension.org
Vs: Tiedostojen etsiminen hakusanoilla (Ratkaistu)
« Vastaus #5 : 27.08.08 - klo:14.14 »
Olen kokeillut tuota -R vipua mutta en saanut vain tiettyjä tiedostopäätteitä eli tämä ei toimi:

Koodia: [Valitse]
grep -R xpath *.php
Miten se pitäisi kirjoittaa että toimisi?
"Menehän Tonttu Tomera tarkastamaan ollaanko korsuissa kiltisti."
Fingerpori

eelis

  • Käyttäjä
  • Viestejä: 187
    • Profiili
Vs: Tiedostojen etsiminen hakusanoilla (Ratkaistu)
« Vastaus #6 : 27.08.08 - klo:15.09 »
Olen kokeillut tuota -R vipua mutta en saanut vain tiettyjä tiedostopäätteitä eli tämä ei toimi:

Koodia: [Valitse]
grep -R xpath *.php
Miten se pitäisi kirjoittaa että toimisi?

Sitten pitäisi kai kirjoittaa jotenkin näin:

Koodia: [Valitse]
ls -R | grep ".pääte"
Mutta, mulla oli tarkotuksena hakea tiedostoja sisällön perusteella. Eli
jos tiedän että jossakin tiedostossa lukee "Tämä tiedosto on salainen", niin
löydän sen tällä tavalla:

Koodia: [Valitse]
rgrep "Tämä tiedosto on salainen" *
tai

Koodia: [Valitse]
grep -R "Tämä tiedosto on salainen" *
jos se on jossakin alihakemistossani.