如何使用 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。
如果文件夹是目录,而不是 bash,您需要询问 hdfs。
if hdfs dfs -test -d "$folder"; then
如果 !hdfs dfs -test -d $path_on_hdfs; 然后
回声“文件夹不存在。创建它”
hdfs dfs -mkdir -d $path_on_hdfs
别的
echo "已经存在。删除并重新创建"
hdfs dfs -rmr -skipTrash $path_on_hdfs
菲
如果文件夹不存在,上面的代码将创建该文件夹,如果该文件夹存在,则将其删除。
谢谢,
问候,
迪拉吉·兰帕利。