/ SB域 / 题库 /

相对路径(大数据系统配置检测题)

相对路径(大数据系统配置检测题)

题目描述

在典型的文件系统中,文件表示的是完整的数据单位。文件被包含在目录中,目录又被包含在其它目录当中。一个路径指的是某个文件或者目录在文件系统中的地址。大多数类Unix的操作系统都有一个唯一的根目录,所有其它目录都在根目录当中。这些操作系统的文件路径都是如下格式的:

/<目录名>/<目录名>/.../<目录名>/<文件名>

同理,目录路径是如下格式的:

/<目录名>/<目录名>/.../<目录名>

例如,"/etc/passwd"表示根目录中叫做etc的目录中的一个叫做passwd的文件。"/home/user/pictures/me"或者"/file"都是合法的路径。在本题中,我们的文件名和目录名都是只含有小写字母(’a’-‘z’)的非空序列。

一个特例是根目录自身。用"/"来表示根目录。

当一个用户使用这种操作系统时,它当前所在目录称为“当前目录”。访问当前目录的文件时,不需要输入完整的绝对目录。比如,假设当前目录是"/home/user/pictures",如果你访问"/home/user/pictures/me"这个文件,只需输入相对目录"me"即可(相对目录跟绝对目录的区别是,没有前导的"/")。并且,访问当前目录的子目录中的文件,也不需要输入完整的目录。比如你要访问"/home/user/pictures/others/she",只需输入"others/she"即可。

更加NB的是访问上级目录。".."表示的就是当前目录的上一级目录。"../.."表示的是当前目录上级目录的上级目录,依此类推。例如,当前目录是"/home/user/pictures",你希望访问"/home/top/data/file",你只需输入"../../top/data/file"。

给定你一个完整的绝对目录名path,表示你需要访问的文件的绝对目录,以及当前目录currentDir。请你根据上面的条件求出你需要输入的相对目录命令。注意,你需要输出长度最短的一个(例如,如果当前目录是"/home/user/pictures",你希望访问"/home/user/movies/title",你的命令应该是"../movies/title"而不是"../../user/movies/title")。

注意,允许一些文件、目录名称相等。但是,在同一目录下,任何文件与文件、目录与目录、文件与目录的名称都不能相等。因此给定的目录是绝对明确的。也就是说,下面这个例子是不合法的:path="/home/user/some",currentDir="/home/user/some/other"。因为这个输入意味着,在/home/user目录下,有一个文件叫做some,同时有一个目录也叫做some。因此这两个目录本身虽然合法,但两个目录自相矛盾。

输入输出格式
输入格式:
共两行,包含两个字符串。第一行表示path,第二行表示currentDir。
输出格式:
只有一行,包含一个字符串,表示你求出的相对目录。

样例输入1:

/home/top/data/file
/home/user/pictures

样例输出1:

../../top/data/file

说明
path和currentDir包含的字符数为不超过50的正整数。
path和currentDir只包含"/"和小写字母。
path和currentDir都是合法目录,且不会自相矛盾。
【提示】
文件目录名永远不会以"/"结尾。目录的目录名永远不会以"/"结尾,除了一个特例:根目录是"/"。