2013-05-06 128 views
2

问题目录列表文件是:UNIX:在使用相对路径

你会用什么命令(使用相对路径)可以列出你 fileAsst目录下的文本文件?

以前的问题是:

发出命令列出这些文本文件的名称,使用到fileAsst目录的绝对路径作为命令的一部分。

答案是:

~/UnixCourse/fileAsst/*.txt 

我想知道我怎么可以使用相对路径列出该目录中的文件。我试过几个命令,包括:

ls ~/UnixCourse/fileAsst/*.txt|awk -F"/" '{print $NF}' 
(cd ~/UnixCourse/fileAsst/*.txt && ls) 

和一堆别人的。

但它一直告诉我他们的无效。我知道这是一个正确的答案,因为其他人已经过去了。但现在我卡住了,非常沮丧=(

更新:

要去CS实验室有人帮我找出问题后,我需要在一定的工作目录首先,我是不是切换到该目录后所有我需要的是命令:。

../UnixCourse/fileAsst/*.txt 

和照顾它,我感谢大家,帮助,我希望这可以帮助别人

+1

相对路径是不与'/'开始的任何路径,与'〜'是绝对路径的简写。所以,如果你在你的主目录中,'echo UnixCourse/fileAsst/*。txt'会生成一个相对名称列表; '(cd UnixCourse; echo fileAsst/*。txt)'或'(cd UnixCourse/fileAsst; echo * .txt)' - 所有受限于'文本文件'是名称都以'.txt'结尾的文件。 – 2013-05-06 18:52:08

+0

@JonathanLeffler非常感谢您的回复。与Fredrik类似,您的代码在测试时效果很好,但是当我试图通过他的自动平地机获得代码时,它告诉我这不是它想要的。我欣赏帮助。 – pob21 2013-05-06 18:58:53

+0

'ls -1〜/ UnixCourse/fileAsst/* .txt'如何? – 2013-05-06 19:14:55

回答

5

试:

$ cd ~/UnixCourse/fileAsst/ 
$ find . 

作为一衬垫(在子壳上执行)

$ (cd ~/UnixCourse/fileAsst/ && find .) 

另一方法

$ (cd ~/UnixCourse && ls fileAsst/*.txt 

$ ls ~/UnixCourse/fileAsst/*.txt 
+0

感谢Fredrik的快速回复,但我忘记提到答案必须是一行 – pob21 2013-05-06 18:49:38

+0

请参阅uppdate,将括号内的表达式放在子shell中执行,而不更改父项,即在此情况下更改目录。 – 2013-05-06 18:52:33

+0

感谢Fredrik,虽然你的代码工作完美,但他的自动分级员仍然认为这不是正确的回应。我非常感谢帮助。 – pob21 2013-05-06 18:54:15