Menu

11 juli 2012

Terminal: Op een alternatieve manier zoeken naar bestanden

Een bestand of map terug vinden op je Mac is een fluitje van een cent. Zeker sinds Spotlight is toegevoegd aan Mac OS X 10.4 Tiger en hoger. Klik op het vergrootglas rechtsboven in het scherm en begin direct te typen met je zoekopdracht, bijna direct zullen er zoekresultaten in Spotlight venster verschijnen.

Onder OS X Terminal heb je ook de beschikking over een dergelijke krachtige zoekfunctie, je kunt hiervoor het find commando gebruiken. Het grote voordeel van het find commando is dat je er ook eenvoudig systeembestanden mee kunt terugvinden.

Je kunt als volgt gebruiken maken van find commando:

find folder -name "zoekterm"

Wanneer je bijvoorbeeld in je thuismap wilt zoeken naar het bestand ‘avatar.png’ dan gebruik je het commando als volgt:

find ~/ -name "avatar.png"

Als output krijg je het volledige path te zien naar de bestanden die voldoen aan de zoekcriteria. Let op er wordt alleen gezocht naar de exacte zoekterm. Wanneer je gebruik wilt maken wildcards zoals bijvoorbeeld de ‘*’ dan dien in plaats van -name gebruik te maken van de optie -iname.

Wil je bijvoorbeeld zoeken naar alle PNG bestanden in thuismap dan gebruik je:

find ~/ -iname "*.png"

Vanzelfsprekend kun je in het commando iedere gewenste extensie gebruiken. De output van het commando is identiek aan die van de -name variant.




Gerelateerde tips:




Reacties


  • leon 11 juli 2012 om 12:15

    Ik denk niet dat het voorbeeld dat je gebruikt om alle .png bestanden te vinden, werkt. Je zoekt nl naar .jpg bestanden en niet naar .png :)

    Overigens is -iname niet om met wildcards te werken, iname maakt er alleen een case insensitive search van in tegenstelling tot -name.

  • macxbo 11 juli 2012 om 14:11

    om een systeembestanden terug te vinden ga ik toch niet met de terminal stoeien hoor. Dit is gratis: http://www.macupdate.com/app/mac/41289/ifilex

  • Nils Breunese 11 juli 2012 om 19:51

    Met het commando mdfind kun je via de terminal zoeken met behulp van de Spotlight-index. Dat is veel sneller en biedt ook de mogelijkheid om te zoeken door de inhoud van bestanden. Er is ook een optie om alleen binnen een specifieke directory.

  • Louis vD 12 juli 2012 om 10:21

    Nog twee tips: ~ voor de home dir is genoeg, die slash erachter is overbodig. En aangezien een nieuwe terminal meestal in je home dir start, kun je ook een punt . gebruiken. Die zit net even wat lekkerder op het toetsenbord.

    Voor wat betreft die GUI zoekers: bedenk dat find ook een -exec optie heeft, om willekeurig welke tool los te laten op de gevonden bestanden. Dat maakt het wel wat krachtiger dan een tool die alleen een lijstje bestanden toont.

Een reactie toevoegen: