Bash循环播放hdfs目录中的文件

我需要遍历Hadoop文件系统中的所有csv文件。 我可以列出HDFS目录中的所有文件

> hadoop fs -ls /path/to/directory
Found 2 items
drwxr-xr-x   - hadoop hadoop          2 2016-10-12 16:20 /path/to/directory/tmp
-rwxr-xr-x   3 hadoop hadoop 4691945927 2016-10-12 19:37 /path/to/directory/myfile.csv

并可以循环遍历标准目录中的所有文件

for filename in /path/to/another/directory/*.csv; do echo $filename; done

我怎么能结合这两个? 我试过了

for filename in `hadoop fs -ls /path/to/directory | grep csv`; do echo $filename; done

但是这给了我一些废话

Found
2
items
drwxr-xr-x

hadoop
hadoop
2    
2016-10-12
....

这应该工作

for filename in `hadoop fs -ls /path/to/directory | awk '{print $NF}' | grep .csv$ | tr 'n' ' '`
do echo $filename; done
链接地址: http://www.djcxy.com/p/93729.html

上一篇: Bash loop over files in hdfs directory

下一篇: How do I upgrade from Rails 4.2.7.1 to Rails 5.0.0.1?