Toon posts:

Bestanden zoeken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik draai hier redhat en wil graag in de console recursief op zoek naar bestanden die in de naam een bepaalde string bevatten.

Dus stel ik heb een directory 'test'. deze directory bevat subdirectory's. Nu wil ik graag een lijst van alle bestanden waarin de string 'bla' voorkomt. 'testbla01.doc' wil ik dus kunnen vinden, aangezien er 'bla' in voorkomt.

Ik heb zojuist al even gezocht, maar ik kon niets relevants vinden, alleen maar zoeken binnenin bestanden; en dat is iets wat ik niet wil. Het gaat mij alleen maar om de bestandsnaam.

Verwijderd

gewoon "locate bla"??? moet je wel ff updatedb uitvoeren eerst...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:42

Janoz

Moderator Devschuur®

!litemod

En anders kun je ook nog find . | grep "bla" doen

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Verwijderd schreef op vrijdag 23 september 2005 @ 13:08:
gewoon "locate bla"??? moet je wel ff updatedb uitvoeren eerst...
Zowel het 'updatedb'-commando als het 'locate'-commando staan niet op de server geinstalleerd. Zijn er geen andere mogelijkheden?

Verwijderd

Topicstarter
find . | grep "bla"
He dank je! Het werkt. Alleen krijg ik nu ook meldingen als een bepaalde directory afgeschermd is. Is er ook een mogelijkheid om het commando iets uit te breiden zodat 'permission denied' niet meegenomen wordt in de lijst van uitvoer?

Sorry trouwens dat ik zoveel vraag zonder zelf iets te onderzoeken; maar ik moet nu snel even iets opzoeken zonder dat ik midnight commander tot m'n beschikking heb :(

[ Voor 30% gewijzigd door Verwijderd op 23-09-2005 13:13 ]


  • Wilke
  • Registratie: December 2000
  • Nu online
Het kan sowieso geen kwaad om een beetje te leren hoe al die standaard UNIX-tooltjes werken hoor :)

Waarschijnlijk gaat die uitvoer naar 'stderr' in plaats van 'stdout' (er zijn altijd 2 gescheiden uitvoer-streams, maar op de console worden gewoonlijk beide afgedrukt). Je kunt stderr omleiden naar een willekeurig bestand, dus bijvoorbeeld ook /dev/null (in het niets laten verdwijnen) door te tikken:

willekeurig-commando 2> /dev/null

Je kent waarschijnlijk wel de variant met een-of-ander-commando > bestand.txt. Die stuurt alleen stdout naar bestand.txt (je ziet de foutmeldingen dan dus nog steeds op het scherm).

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 18:41

Robtimus

me Robtimus no like you

Verwijderd schreef op vrijdag 23 september 2005 @ 13:13:
[...]

He dank je! Het werkt. Alleen krijg ik nu ook meldingen als een bepaalde directory afgeschermd is. Is er ook een mogelijkheid om het commando iets uit te breiden zodat 'permission denied' niet meegenomen wordt in de lijst van uitvoer?
code:
1
find . 2>/dev/null | grep bla

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Waarom de uitvoer van find pipen naar grep als find zelf ook op substring kan matchen 8)7

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Eärendil
  • Registratie: Februari 2002
  • Laatst online: 18:54
Filteren in find kan met -iname (case-insensitive) of -name (case-sensitive), in dit geval dus bijvoorbeeld:
code:
1
find . -iname '*bla*'

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:42

Janoz

Moderator Devschuur®

!litemod

In mijn herinnering had ik met de -name optie altijd het probleem omdat hij door de wildchars meer matchte dan dat ik daadwerkelijk wilde hebben. Nu kan ik het heel goed fout hebben, maar ondertussen had ik al lang grep aangeleerd (ja, ik gebruik ook nog wel eens cat bar | grep foo)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Janoz: cat bar | grep foo
Die's legendarisch :D
Toen ik ontdekte dat ik dat altijd deed, ben ik een kruistocht tegen mezelf en iedereen begonnen die dat deed :P

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

kenneth schreef op vrijdag 23 september 2005 @ 14:48:
[...]
Die's legendarisch :D
Toen ik ontdekte dat ik dat altijd deed, ben ik een kruistocht tegen mezelf en iedereen begonnen die dat deed :P
het kan makkelijk zijn, stel je voor dat je een bestand cat, er dan achter komt dat er wel veel troep in staat, dan is het (iets) makkelijker om gewoon pijltje omhoog in te drukken en er | grep foo achter te zetten.

It sounds like it could be either bad hardware or software


Verwijderd

pijltje omhoog? :?

Esc-K, cw grep foo, Esc <Enter> :+

[ Voor 32% gewijzigd door Verwijderd op 24-09-2005 01:25 ]

Pagina: 1