bash - 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
解决方案
尝试这个:
#!/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
推荐阅读
- css - 如何在本机反应中使用百分比制作圆形视图?
- php - 找不到对象 xamp
- .net - windows库项目可以实现依赖注入吗?
- spring-boot - Spring boot 1.5.x jetty server gzip 不工作请求方法不是 GET
- java - 在 Android Q 中无法从“android.location.ILocationManager”中找到方法 reportLocation()
- python - 无法在 Python 中打开 URL 而不先在浏览器中打开它
- c++ - Qt C++ QPixmap 仅适用于绝对路径,如何在不使用 Qt 资源的情况下解决?
- r - R中基于Log-Cosh损失函数的线性回归模型
- html - 无法在模态中滚动 div
- reactjs - 如何在我的反应应用程序中使用我的自定义字体家族