如何执行我刚刚在 zsh 中打印的特定行?
How can I execute the specific line I just printed in zsh?
假设我已经使用 mdfind 搜索了一些文件的路径。现在我打印了几个地址,我想做的是 cd 到第一个地址。有没有什么方法可以编写 shell 脚本或其他东西来帮助我进入我想要的路径而无需复制和粘贴?
xxx@MacBook-Pro ~ mdfind -name "adapters.py"
/usr/local/Cellar/python/2.7.10_2/libexec/pip/build/lib/pip/_vendor/requests/adapters.py
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/adapters.py
/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py
/usr/local/Cellar/python/2.7.10_2/libexec/pip/pip/_vendor/requests/adapters.py
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/adapters.pyc
一种快速的方法是嵌套命令替换
cd $(dirname $(mdfind -name "adapters.py" | head -n 1))
函数也可以在您的 .zshrc
中定义
func mdcd() {
if [ -z "" ]; then return 64; fi
1=$(mdfind -name "" | head -n 1)
if [ -z "" ]; then return 66; fi
cd $(dirname "")
}
假设我已经使用 mdfind 搜索了一些文件的路径。现在我打印了几个地址,我想做的是 cd 到第一个地址。有没有什么方法可以编写 shell 脚本或其他东西来帮助我进入我想要的路径而无需复制和粘贴?
xxx@MacBook-Pro ~ mdfind -name "adapters.py"
/usr/local/Cellar/python/2.7.10_2/libexec/pip/build/lib/pip/_vendor/requests/adapters.py
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/adapters.py
/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py
/usr/local/Cellar/python/2.7.10_2/libexec/pip/pip/_vendor/requests/adapters.py
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/adapters.pyc
一种快速的方法是嵌套命令替换
cd $(dirname $(mdfind -name "adapters.py" | head -n 1))
函数也可以在您的 .zshrc
func mdcd() {
if [ -z "" ]; then return 64; fi
1=$(mdfind -name "" | head -n 1)
if [ -z "" ]; then return 66; fi
cd $(dirname "")
}