Fzf脚本用于切换到带有空格的目录中。
- 论坛
- Fzf脚本用于切换到带有空格的目录中。
9 浏览
Fzf脚本用于切换到带有空格的目录中。
大家好,我试图使用fzf创建一个脚本,通过在目录中搜索文件名来进行cd操作。
fcd(){ cd $(find | fzf ) }
但是当文件名包含空格时,会出现错误,因为它会将其拆分成两部分。
编辑:
感谢
cd "$(...)", not cd $(...); the >quotes are mandatory. –
Charles Duffy
那么有人可以帮助编写一个使用fzf进行cd到带有文件名的目录的脚本吗?
编辑之前的实际问题 V
经过多次搜索和修改,我最终得到了以下代码:
cd $(fzf| awk '{print "\047"$0"\047"}'|xargs dirname | awk '{print "\047"$0"\047"}')
以文件树为例:
a └── b └── c d ├── e.txt └── f g.txt
如果我们将上述脚本中的cd更改为echo,并搜索'f g.txt',它将正确打印出'a/b/c d',如果我们键入cd 'a/b/c d',它将进入该目录。但是,当将两者结合起来并像上面的脚本那样运行时,会出现以下错误:
bash: cd: too many arguments
无论我搜索什么,我都得到的解决方案是cd $(find . -d |fzf)
,但这不是我需要的,我想要搜索文件名并进入其父目录。
提前谢谢大家 🙂