Wie finde ich im Mac-Terminal eine Datei und gehe dann schnell in das übergeordnete Verzeichnis?

Ich möchte das Terminal öffnen, eine Datei oder einen Ordner suchen und schnell zu diesem Ordner oder dem übergeordneten Verzeichnis der Datei navigieren.

Ich kann den Pfad schnell mit

find ~ -name 'filename.txt' 

Aber ich kann nicht herausfinden, wie ich dieses Pfadergebnis in den Befehl "cd" kopieren kann

Gibt es eine Möglichkeit, grundsätzlich "cd [Pfad vom Suchbefehl]" oder "open [Pfad vom Suchbefehl]"zu sagen

Ich verwende nur das Standardterminal in OSX Mountain Lion

Author: gparyani, 2013-06-18

3 answers

Wie wäre es mit:

cd $(find -name "filename.txt" -type f -exec dirname {} \; | sed 1q)
 3
Author: jaypal singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-06-18 05:43:44

So:

$ cd `find ~ -name filename.txt -exec dirname {} \;`
 0
Author: Paul R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-06-18 05:43:51

Wenn Hinzugefügt haben, diese zu ~/.inputrc machen \eo Wiederholung der vorherigen Befehl, und legen Sie die Leistung:

"\eo": "$(!!)\e\C-e"

Oder wenn Sie bash 4.0 oder höher verwenden, können Sie globstar aktivieren und \eg drücken, um Muster wie folgt zu erweitern:

cd **/filename.txt

Sie können den Dateinamenteil in beiden Fällen mit der Option-delete löschen.

 0
Author: Lri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-06-18 20:36:55