shell - Hadoop 文件系统 - 如何删除给定 hdfs 目录中所有大小为零的文件?

标签 shell hadoop filesystems

我在路径中有一个hdfs目录A:/user/A

如何删除 A 中所有大小为零的文件?

最佳答案

只删除文件:

hdfs dfs -rm $(hdfs dfs -ls -R /user/A/ | grep -v "^d" | awk '{if ($5 == 0) print $8}')

首先测试你得到的是什么,因为有很多 HDFS 格式,可能有元数据或 0 字节大小的文件(比如 parquet ..SUCCESS、..TEMPORARY 等)

hdfs dfs -ls -R /user/A/ | grep -v "^d" | awk '{if ($5 == 0) print $8}'

关于shell - Hadoop 文件系统 - 如何删除给定 hdfs 目录中所有大小为零的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113825/

相关文章:

hadoop - 如何在没有命令行的情况下使用 Java 从 Hadoop 读取文件

hadoop - 如何在Java代码中获得HDFS可用空间?

linux - 我的环境变量对系统上的其他用户安全吗?

shell - shell 错误: redirection unexpected in using bc

hadoop - 错误 : System table snapshots are not allowed in hbase

javascript - Chrome扩展程序保存临时文件

windows - 谁能推荐适用于 Windows 的磁盘 I/O 基准测试软件?

linux - 搜索 .txt 文件以获取特定行并输出到新文件

ruby 在 windows shell 中注入(inject)击键

java添加增量数字到文件之前存在