В терминале Mac, как мне "найти" файл и затем быстро перейти в родительский каталог?

Я хочу открыть терминал, найти файл или папку и быстро перейти к этой папке или родительскому каталогу файла.

Я могу быстро получить путь, используя

find ~ -name 'filename.txt' 

но я не могу понять, как скопировать этот путь в команду "cd"

Есть ли способ в основном сказать "CD [путь из команды поиска]" или "открыть [путь из команды поиска]"

Я просто использую терминал по умолчанию в OSX Mountain Lion

3 ответа

Решение

Как насчет:

cd $(find -name "filename.txt" -type f -exec dirname {} \; | sed 1q)

Если бы добавили это в ~/.inputrc делать \eo повторите предыдущую команду и вставьте ее вывод:

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

Или, если вы используете Bash 4.0 или более поздней версии, вы можете включить globstar и нажмите \eg расширить шаблоны, как это:

cd **/filename.txt

Вы можете удалить часть имени файла в обоих случаях с опцией delete.

Как это:

$ cd `find ~ -name filename.txt -exec dirname {} \;`
Другие вопросы по тегам