分享一个查看Hdfs目录下文件大小的脚本,支持排序
2017-04-03 13:02
543 查看
#!/bin/bash ################## #@author: chichuduxing #@date: 20161011 ################## ##加载Hadoop环境变量 ##略过 function showhelp() { echo "###################################!!! you must input at least two params !!!###################################" echo "#Usage: [sh `basename $0` origin|-o hdfspath] show info with filename's ascending order ,eg: sh `basename $0` origin /home" echo "#Usage: [sh `basename $0` asc|-a hdfspath] show info with size's ascending order,eg: sh `basename $0` asc /home" echo "#Usage: [sh `basename $0` desc|-d hdfspath] show info with size's descending order,eg: sh `basename $0` desc /home" echo "###############################################################################################################" } #首先判断输入参数的个数是否符合要求 if [ $# -ne 2 ]; then #如果传递进来的参数个数不等于2,则记录错误并退出 showhelp #退出 exit 1 fi function origin() { hadoop fs -du $1 | awk '{if(1==NR){print $0}else{size=$1/1024;if(size<1024){printf("%10.3f KB\t%s\n",size,$2);}else{size=size/1024;if(size<1024){printf("\033[36m%10.3f MB\t%s\n\033[0m",size,$2);}else{size=size/1024;if(size<1024){printf("\033[35m%10.3f GB\t%s\n\033[0m",size,$2);}else{size=size/1024;printf("\033[31m%10.3f TB\t%s\n\033[0m",size,$2);}}}}}' } function order() { hadoop fs -du $1 | tail -n +2 | sort $2 -n | awk '{size=$1/1024;if(size<1024){printf("%10.3f KB\t%s\n",size,$2);}else{size=size/1024;if(size<1024){printf("\033[36m%10.3f MB\t%s\n\033[0m",size,$2);}else{size=size/1024;if(size<1024){printf("\033[35m%10.3f GB\t%s\n\033[0m",size,$2);}else{size=size/1024;printf("\033[31m%10.3f TB\t%s\n\033[0m",size,$2);}}}}' } function asc() { order $1 } function desc() { order $1 -r } case "$1" in origin|-o) origin $2 ;; asc|-a) asc $2 ;; desc|-d) desc $2 ;; *) showhelp exit 1 esac exit 0
脚本名称:hdfsdu.sh
查看hdfs上根目录下所有文件大小并降序排列
sh hdfsdu.sh / desc
相关文章推荐
- 编写一个SHELL脚本,可以获得指定目录下的所有文件及文件夹的大小。输出的样式与 ls -lh 命令相同。
- Linux中查看一个目录的大小脚本
- 一个用FTP批量上传文件的perl脚本,支持目录上传
- Hadoop查看目录文件大小的脚本
- 一个监控LINUX目录和文件变化的Shell脚本分享
- hdfs查看目录大小文件大小
- linux查看一个目录下的文件大小
- 一个监控LINUX目录和文件变化的Shell脚本分享
- hdfs查看各级目录文件的大小
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
- SQL Server:查看SQL日志文件大小SQL脚本
- 分享一个格式化文件大小的 C# 方法
- 给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
- Linux 查看目录大小及文件数量命令
- 是查看一个目录,根据文件的数目,启动相应的进程数
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 小脚本,统计一个目录下满足特定条件文件的代码行数
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)