2

如何使用 shell 脚本获取所有文件夹的列表,目录存在于 HDFS 中。这是我尝试过的:

#!/bin/ksh

echo "  loading folders..."
count=0
for folder in `hdfs dfs -ls -d /user/data/*`
do
if [ -d "$folder" ]
then
count=`expr $count + 1`
echo ${d}
fi
done
echo ${count}

此计数变量的值在程序结束时为 0。

4

2 回答 2

4

如果文件夹是目录,而不是 bash,您需要询问 hdfs。

if hdfs dfs -test -d "$folder"; then
于 2013-09-04T01:53:24.927 回答
0

如果 !hdfs dfs -test -d $path_on_hdfs; 然后

回声“文件夹不存在。创建它”

hdfs dfs -mkdir -d $path_on_hdfs

别的

echo "已经存在。删除并重新创建"

hdfs dfs -rmr -skipTrash $path_on_hdfs

如果文件夹不存在,上面的代码将创建该文件夹,如果该文件夹存在,则将其删除。

谢谢,

问候,

迪拉吉·兰帕利。

于 2014-03-31T18:54:58.977 回答