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

标签 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}

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

最佳答案

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

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

关于shell - 列出目录中的所有文件夹名称 - unix shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18604142/

相关文章:

linux - awk 在第 1 列中打印大于零的行

bash - 如何将 PostgreSQL 结果插入 shell 变量

linux - 如何根据文件名模式删除文件?

linux - 为什么 "mycommand >>file1 >>file2"不附加到两个文件?

apache - Storm ui错误:org.apache.storm.utils.NimbusLeaderNotFoundException:从种子主机[localhost]中找不到领导者雨云

hadoop - 使用查找表将数据插入Hive表

c - 在postgresql中执行系统命令

linux - 每 2 秒检查一次目录内容,如果 bash 中存在某个文件,则复制其内容

linux - 加入两个文件的第一列

hadoop - 在 Hadoop 中处理条件文件