2012-07-25 71 views
6

我想使用grep找到一个目录,然后将当前目录改为生成的目录。 例如:如何在“grep”之后“cd”到目录?

$ ls | grep 1670 | 

找到我的目录haib12CJS1670。我试图做类似如下:

$ ls | grep 1670 | cd 

使我的目录是在一个单一的步骤设置为haib12CJS1670。显然,我的方式是行不通的。有什么建议么?谢谢

+4

你有一个很好的理由要使用'grep'而不是通配符(即'CD * 1670 *'?) – geoffspear 2012-07-25 13:39:02

+0

这是伟大的评论我,因为我甚至不知道我能做到这一点。 – Supertech 2016-09-17 19:02:42

回答

8
cd `ls | grep 1670` 

应该让你的cd工作(注意,这些都是“反单引号”)

另一种方法(有人说是首选)是使用$替换。例如,

cd $(ls | grep 1670) 

虽然我不能得到这个与tcsh工作,它正常工作与bash

第一个解决方案是壳无关 :)

+0

哇,你*雷电很快*莱文。谢谢! – Supertech 2012-07-25 13:40:07