2013-05-06 124 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