【发布时间】:2013-04-30 14:04:33
【问题描述】:
问题是:
你会用什么命令来列出你的文本文件 fileAsst 目录(使用相对路径)?
上一个问题是:
发出命令列出这些文本文件的名称,使用 fileAsst 目录的绝对路径作为命令的一部分。
答案是:
~/UnixCourse/fileAsst/*.txt
我想知道如何使用相对路径列出此目录中的文件。我尝试了几个命令,包括:
ls ~/UnixCourse/fileAsst/*.txt|awk -F"/" '{print $NF}'
(cd ~/UnixCourse/fileAsst/*.txt && ls )
还有很多其他人。
但它一直告诉我他们无效。我知道它必须是一个正确的答案,因为其他人已经通过了这个。但是现在我被卡住了,非常沮丧=(
更新:
去了 CS 实验室后,有人帮我解决了问题。一开始我需要在某个工作目录中,但我不是。切换到该目录后,我只需要命令:
../UnixCourse/fileAsst/*.txt
这为我解决了问题。感谢所有提供帮助的人,我希望这对其他人有所帮助。
【问题讨论】:
-
相对路径是任何不以
/开头的路径,需要注意的是~是绝对路径的简写。因此,如果您在主目录中,echo UnixCourse/fileAsst/*.txt会生成一个相对名称列表;(cd UnixCourse; echo fileAsst/*.txt)或(cd UnixCourse/fileAsst; echo *.txt)也是如此——所有这些都需要注意,“文本文件”是名称以.txt结尾的文件。 -
@JonathanLeffler 非常感谢您的回复。与 Fredrik 类似,您的代码在测试时运行良好,但是当我试图通过他的自动评分器获取它时,它告诉我这不是它想要的。不过,我感谢您的帮助。
-
ls -1 ~/UnixCourse/fileAsst/*.txt怎么样? -
谢谢@ott-- 但那行正在返回我的绝对路径
-
正如我之前的评论至少暗示的那样,要能够创建文件的相对路径,您必须知道该路径必须相对的目录。查看Absolute path to relative path in Unix 和
bash: convert absolute path into relative path given a current directory,仅举两个相关的问题。