Toon posts:

[linux] find geavanceerd

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig met een php zoekmachine voor onze server.
nu wil ik alleen nog in bestanden zoeken.

$zoekstr= "find /home -exec grep -l"." '"."test123"."'"." {} \;|grep test.txt";

deze zoekstring doet wat hij moet doen... zoekt in alle bestanden naar de string 123 en als de naam van de bestand test.txt is dan word hij weergeven als link.

maar op deze manier worden alle bestanden doorzocht. ik wil eigenlijk eerst op test.txt zoeken en dan pas in dat bestand de grep doen. iemand een idee of een tip
of kan ik dan het best de -name test.* meegeven
wil dus eigenlijk zoeken in een bestand waarvan de naam lijkt op test.txt zoek dus dan op tes en er moet in zitten als text test123

[ Voor 29% gewijzigd door Verwijderd op 27-02-2004 18:22 ]


  • eth0
  • Registratie: Mei 2002
  • Laatst online: 15-09-2025
zoiets :?

$zoekstr= "find /home -name test.txt -exec grep -l"." '"."test123"."'"." {} \;|grep test.txt";

Verwijderd

Topicstarter
$zoekstr= "find /home -name test* -exec grep -l"." '"."test123"."'"." {} \;";

geeft een error.. had dat ook al geprobeerd. moet eigenijk zoals in sql zijn als "like"

opgelost $zoekstr= "find /home -name 'test*' -exec grep -l"." '"."test123"."'"." {} \;";
doet wat ik wil

[ Voor 42% gewijzigd door Verwijderd op 27-02-2004 18:26 ]


  • ErrieR
  • Registratie: Maart 2003
  • Laatst online: 01-02 14:52
Dit zoekt naar bestand test.txt en drukt de bestandsnaam af als er "123" in voor komt. Is dit wat je zoekt?

find /home -name "test.txt" -type f -exec grep -l "123" {} \;

  • ErrieR
  • Registratie: Maart 2003
  • Laatst online: 01-02 14:52
Vergeten:
Voeg toe -name '*test.txt*' als je zoekt naar een bestandsnaam met 'test.txt' erin.