如何通过hdfs命令行遍历长的线性文件路径(每个父目录只有一个子目录)?

bvjxkvbb  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(247)

我有许多路径在我的hdfs有长的线性路径。例如。,:

/user/abc/a/b/c/d/x.txt

这里,之后 /user//a (包括a),所有目录只有一个子目录。在这种情况下,我想检查 x.txt 但我不知道路,直到 x.txt . 我只知道它就在里面 /user//a... . 为了达到 x.txt ,当前,我运行以下命令:

hadoop fs -ls /user/abc/a 
hadoop fs -ls /user/abc/a/b
hadoop fs -ls /user/abc/a/b/c
hadoop fs -ls /user/abc/a/b/c/d
hadoop fs -cat /user/abc/a/b/c/d/x.txt

相反,有没有什么方法,只要一个命令,我就可以到达 x.txt (因为之后的目录结构中没有分支) /user//a ). 比如:

hadoop fs -<cmd> /user/abc/a

那会给我们 /user//a/b/c/d/x.txt 直接代替 /user//a/b ?
另外,如果我们有一条通向非线性结构的线性路径,它应该会引导我进入非线性结构的开始。因此如果 /user//a/b/c/d/ 包含一个目录 e 还有一个文件 x.txt ,输出应为:

/user/abc/a/b/c/d/e
/user/abc/a/b/c/d/x.txt

注意不像 -R switch(正如@pjames在第一个注解中提到的那样),只要线性在路径中结束,递归就应该停止。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题