假设我有一个名为 myDirectory
的 HDFS 目录,其中包含可变数量的子目录,如下所示:
/tmp
|___mainDirectory
|___ subDirectory1
|___ subDirectory2
.
.
|___ subDirectoryN
如何将主目录中每个子目录的路径捕获为 bash 变量?
例如,在上述情况下,我最终会得到 N 个 bash 变量,其中每个变量看起来像这样:
var_1=/tmp/mainDirectory/subDirectory1
var_2=/tmp/mainDirectory/subDirectory2
..etc
到目前为止,在执行 hadoop fs -ls/tmp/mainDirectory
$hadoop fs -ls /tmp/mainDirectory | awk '{print $8}'
/tmp/mainDirectory/subDirectory1
/tmp/mainDirectory/subDirectory2
.
.
/tmp/mainDirectory/subDirectoryN
但是,我无法将各个目录路径捕获到单独的 bash 变量中。
如有任何帮助,我们将不胜感激。谢谢!
最佳答案
如果你能得到结果:
$hadoop fs -ls /tmp/mainDirectory | awk '{print $8}'
/tmp/mainDirectory/subDirectory1
/tmp/mainDirectory/subDirectory2
.
.
/tmp/mainDirectory/subDirectoryN
您可以使用命令将它们分配给 bash 变量,
$ declare $(hadoop fs -ls /tmp/mainDirectory | awk '{print "var_"NR"="$8}')
关于linux - Hadoop - 列出 HDFS 目录中的所有子目录并将每个目录路径保存到 bash 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45292871/