Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Hadoop-列出HDFS目录中的所有子目录,并将每个目录路径保存到bash变量中_Linux_Bash_Hadoop_Awk_Hdfs - Fatal编程技术网

Linux Hadoop-列出HDFS目录中的所有子目录,并将每个目录路径保存到bash变量中

Linux Hadoop-列出HDFS目录中的所有子目录,并将每个目录路径保存到bash变量中,linux,bash,hadoop,awk,hdfs,Linux,Bash,Hadoop,Awk,Hdfs,假设我有一个名为myDirectory的HDFS目录,其中包含可变数量的子目录,如下所示: /tmp |___mainDirectory |___ subDirectory1 |___ subDirectory2 . . |___ subDirectoryN 如何将mainDirectory中每个子目录的路径捕获为bash变量 例如,在上面的例子中,我将得到N个ba

假设我有一个名为
myDirectory
的HDFS目录,其中包含可变数量的子目录,如下所示:

/tmp
     |___mainDirectory
            |___ subDirectory1
            |___ subDirectory2
            .
            .
            |___ subDirectoryN
如何将mainDirectory中每个子目录的路径捕获为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}')