Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Owdy - 27.11.05 - klo:15.41

Otsikko: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: Owdy - 27.11.05 - klo:15.41
Onko sellaista linuksille?   Ts Etsii vaikka tiettyä merkkijonoa tekstitiedostojen sisältä?
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: LittleLion - 27.11.05 - klo:17.08
Onko sellaista linuksille?   Ts Etsii vaikka tiettyä merkkijonoa tekstitiedostojen sisältä?

grep 'mitä etsitään' tekstitiedosto.txt
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: Ninnnu - 27.11.05 - klo:17.17
Itse käytän seuraavaa yhdistelmää (ajaa saman asian):
Koodia: [Valitse]
cat foobar.txt | grep etsittävä merkkijono
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: Owdy - 27.11.05 - klo:17.43
Entäs kansiosta useista tiedostoista?
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: janne - 27.11.05 - klo:18.49
Entäs kansiosta useista tiedostoista?

Koodia: [Valitse]
$ grep <mitä etsitään> hakemisto/*
tai hakemistossa:

Koodia: [Valitse]
$ grep <mitä etsitään> *
tai, no ehkä on helpompaa katsoa itse:
Koodia: [Valitse]
$ man grep
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: Owdy - 27.11.05 - klo:19.34
Hehhe, huikeeta. Ja Winukassa pitää ostaa kymmenien dollarien ohjelma tätä varten ;D

Kiiitos!

Komentorivi ei näemmä ymmärrä välilyöntejä hakemiston nimissä. Mikä siihen pitää laittaa välimerkiksi? Esim jos kansion nimi on 'Minun hakemisto'.
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: LittleLion - 27.11.05 - klo:19.46
Hehhe, huikeeta. Ja Winukassa pitää ostaa kymmenien dollarien ohjelma tätä varten ;D

Kiiitos!

Komentorivi ei näemmä ymmärrä välilyöntejä hakemiston nimissä. Mikä siihen pitää laittaa välimerkiksi? Esim jos kansion nimi on 'Minun hakemisto'.

Minun\ hakemisto

Tosin helpoin on, että kirjoitat vaikka: Minun ja painat tabulaattori niin se täydentää rivin ja jos vaihtoehtoja on monta niin painat pari kertaa sitä tabua niin se näyttää ne vaihtoehdot.
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: janne - 27.11.05 - klo:21.11
Itse käytän seuraavaa yhdistelmää (ajaa saman asian):
Koodia: [Valitse]
cat foobar.txt | grep etsittävä merkkijono

joku sanoo piankin, että useless use of cat ;)
http://sial.org/code/shell/tips/useless-cat/

vaikka tämä ei nyt tähän viestiin liitykään, niin kehutaan nyt vielä, että grep osaa tietysti etsiä merkkijonoa myös rekursiivisesti, case insensitiivisesti, näyttää etsityn tekstin rivinumeron jne. (kun minä vielä osaisin kertoa noista ominaisuuksista suomeksi...).
Otsikko: Re: Ohjelmaa joka etsii tiedostojen sisältä
Kirjoitti: _Pete_ - 28.11.05 - klo:08.54
Entäs kansiosta useista tiedostoista?

Koodia: [Valitse]
$ grep <mitä etsitään> hakemisto/*
tai hakemistossa:

Koodia: [Valitse]
$ grep <mitä etsitään> *
tai, no ehkä on helpompaa katsoa itse:
Koodia: [Valitse]
$ man grep

Kun etsii monista tiedostoista kannattaa käyttää -H vipua, joka matchaavan rivin löytyessä tulostaa myös tiedoston nimen, josta matchi löytyy eli:

Koodia: [Valitse]
$ grep -H <mitä etsitään> *