如何使用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。
xmq68pz91#
您需要询问hdfs文件夹是否是一个目录,而不是bash。
if hdfs dfs -test -d "$folder"; then
cbeh67ev2#
如果!hdfs dfs-test-d$path在hdfs上;然后echo“文件夹不存在。正在创建”hdfs dfs-mkdir-d$path在hdfs上其他的回声“已经存在。删除并重新创建“hdfs dfs-rmr-skiptrash$path在hdfs上金融机构如果文件夹不存在,上面的代码将创建该文件夹,如果存在,代码将删除该文件夹。谢谢,当做,德拉吉·兰帕利。
2条答案
按热度按时间xmq68pz91#
您需要询问hdfs文件夹是否是一个目录,而不是bash。
cbeh67ev2#
如果!hdfs dfs-test-d$path在hdfs上;然后
echo“文件夹不存在。正在创建”
hdfs dfs-mkdir-d$path在hdfs上
其他的
回声“已经存在。删除并重新创建“
hdfs dfs-rmr-skiptrash$path在hdfs上
金融机构
如果文件夹不存在,上面的代码将创建该文件夹,如果存在,代码将删除该文件夹。
谢谢,
当做,
德拉吉·兰帕利。