列出目录中的所有文件夹名称 - unix shell脚本

时间:2013-09-04 01:40:12

标签: shell unix hadoop

如何使用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}

在程序结束时,count变量的值为0。

2 个答案:

答案 0 :(得分:4)

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

if hdfs dfs -test -d "$folder"; then

答案 1 :(得分:0)

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

echo"文件夹不存在。创建它"

hdfs dfs -mkdir -d $ path_on_hdfs

否则

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

hdfs dfs -rmr -skipTrash $ path_on_hdfs

网络连接

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

谢谢,

此致

Dheeraj Rampally。