首页 > 解决方案 > Bash 脚本循环遍历 hdfs 上的文件

问题描述

我有一个简单的 bash 脚本。将 HDFS 上的所有文件路径连接到一个变量中,我想出了以下代码:

for filename in `hdfs dfs -ls /user/kmob/ctp_modules/conf | awk '{print $NF}'  |  tr '\n' ' '`
do
echo $filename;
$var=$var','$filename;
done

但我无法将所有文件变量放入 $var

/user/kmob/ctp_modules/conf/hive_meta_ddl.hql
-bash: =,/user/kmob/ctp_modules/conf/hive_meta_ddl.hql: No such file or directory

标签: bashvariablessyntax

解决方案


尝试这个:

#!/bin/sh

for filename in `hdfs dfs -ls /user/kmob/ctp_modules/conf | awk '{print $NF}'  |  tr '\n' ' '`
do
echo $filename
if [ "$var" != "" ];then
var=`echo "${var},${filename}"`
else
var=${filename}
fi
done
echo $var

推荐阅读