在Mac终端中,如何“查找”文件,然后快速cd到父目录?


3

我想打开终端,找到一个文件或文件夹,然后快速导航到该文件夹​​或文件的父目录。

我可以使用快速获取路径

find ~ -name 'filename.txt' 

但我不知道如何将路径结果复制到“ cd”命令中

有没有一种方法可以基本上说“ cd [来自查找命令的路径]”或“打开[来自查找命令的路径]”

我只是在OSX Mountain Lion中使用默认终端

Answers:


3

怎么样:

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

这是一个可行的解决方案,但不像我希望的那样干净...哦,好吧,我猜没有像我希望的那样简单的干净解决方案
Jeff Widman

0

像这样:

$ cd `find ~ -name filename.txt -exec dirname {} \;`

潜行者!!!! :-)
jaypal singh 2013年

@JS:呵呵-好吧,有人必须回答所有这些find问题... ;-)
Paul R

1
是的先生!!现在,我们只需要等待mod将其移至SuperUser。叹!
jaypal singh

我只是尝试过此操作,但收到“没有此类文件或目录错误”。$ cd find〜-name filename.txt -exec dirname {} \;``会导致错误,但是find命令本身可以正常工作:$ find ~ -name 'filename.txt'可以正常工作。(我也不知道如何使用markdown来描述上面的代码,因为代码包含反引号,因此markdown会尽早停止代码格式化部分)
Jeff Widman

如果您刚跑步会$ find ~ -name filename.txt -exec dirname {} \;怎样?
Paul R

0

如果已经加入这个~/.inputrc\eo重新运行前一个命令并插入其输出:

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

或者,如果您使用bash 4.0或更高版本,则可以启用globstar并按\eg扩展如下所示的模式:

cd **/filename.txt

在这两种情况下,都可以使用option-delete删除文件名部分。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.