无法进入grepped目录

时间:2015-04-17 18:36:42

标签: grep cd

我有一个空格和句号的卷,我无法进入

bash-4.3$ ll /Volumes
total 8
drwxrwxrwt@  4 root       admin              136 Apr 17 11:08 .
drwxr-xr-x  33 root       wheel             1190 Feb  5 19:05 ..
lrwxr-xr-x   1 root       admin                1 Apr 17 09:41 Macintosh HD -> /
drwxr-xr-x   4 username   wheel   204 Jan 28 02:54 OS X 10.10.2 Update Combo

但尝试以这种方式cd产生

bash-4.3$ cd "$(ls /Volumes |grep 'OS X')"
bash: cd: OS X 10.10.2 Update Combo: No such file or directory

1 个答案:

答案 0 :(得分:2)

问题,正如RC在他们的评论中所指出的那样,该命令替换的输出是裸目录名OS X 10.10.2 Update Combo,然后用作cd "OS X 10.10.2 Update Combo"但当前没有这样的目录目录。您需要cd /Volumes/"$(ls /Volumes |grep 'OS X')"来做您想做的事。

据说使用lsgrep这一点并不合适。更好的解决方案就是使用glob。

cd /Volumes/*"OS X"*

如果多个目录/文件与glob匹配,则会失败(与原始文件一样)。