[Linux] Zoeken in inhoud van veel bestanden (in directories)

Pagina: 1
Acties:
  • 170 views sinds 30-01-2008

  • argi
  • Registratie: Juni 2000
  • Laatst online: 06:24
Hoi iedereen,

Graag zou ik willen weten hoe ik in de inhoud van meerdere bestanden die zich in veschillende sub-directories bevinden.

Wanneer ik op de inhoud van 1 bestand wil zoeken gebruik ik:
code:
1
cat filenaam | grep zoekterm


Als ik naar de inhoud van meerdere bestanden op zoek ben, gebruik ik:
code:
1
cat * | grep zoekterm

Dit werkt goed wanneer alle bestanden zich in dezelfde directory bevinden, maar ik wil juist ook op de inhoud van bestanden zoeken die zich in subdirectories bevinden.

Hiervoor had ik in gedachte:
code:
1
find ./ | cat * | grep zoekterm

Ik heb een aantal varianten geprobeerd, maar het is me niet gelukt. Hoe zou jij dit aanpakken (vanuit de commandline)?

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Probeer ipv "*" eens "-"?

edit:
Hm, wacht, dat werkt niet echt zoals ik 't bedoelde bij mij :o

[ Voor 70% gewijzigd door Osiris op 12-02-2005 14:32 ]


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Of je leest de manpage van grep even, waar je dan het volgende vindt:
-r, --recursive
Read all files under each directory, recursively; this is equivalent to the
-d recurse option.

Verwijderd

grep -r 'zoekterm'

  • terabyte
  • Registratie: September 2001
  • Laatst online: 06-07-2025

terabyte

kan denken als een computer

argi schreef op zaterdag 12 februari 2005 @ 14:25:
Ik heb een aantal varianten geprobeerd, maar het is me niet gelukt. Hoe zou jij dit aanpakken (vanuit de commandline)?
Als ik het zo zie, dan lijkt het erop dat je denk dat je alleen grep kunt gebruiken met gepipte input vanuit cat... Je kunt grep ook zonder cat gebruiken:


voor 1 bestand
code:
1
grep "zoektermen" bestandsnaam


voor alle bestanden in huidige dir:
code:
1
grep "zoektermen" *


voor alle .tex bestanden in huidige dir:
code:
1
grep "zoektermen" *.tex


voor alle bestanden in huidige dir (wordt aangegeven met een . ) en subdirs
code:
1
grep -r "zoektermen" .

  • argi
  • Registratie: Juni 2000
  • Laatst online: 06:24
Bedankt voor alle hulp. Ik dacht inderdaad cat je grep alleen kon gebruiken in combinatie met cat. Het volgende commando werkt voor mij uitstekend:
code:
1
grep zoekterm * -r


Niet gedacht dat het zo simpel zou zijn... :+

Thanx! :*)

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Kortom, volgende keer even de manpages lezen :)
Pagina: 1

Dit topic is gesloten.