shell for 循环、查看文件大小、计算文件md5

今天一同学需要这样一个工具:

      列出指定目录下文件的 md5、大小(单位:M)、文件名

百度了一番,实现结果如下:    

FILES=$1
cd $FILES

for i in  $(ls)
do
     md5sum $i|awk '{printf "\t%s\t",$1}';  // 为了使输出格式符合要求,这里
     du -sh $i;
done

 

调用:

./test.sh test  // test 即未指定目录,上述脚本保存在 test.sh文件中

 

输出的效果如下:

 3828735cd9d108610eabe9153c0c39ee 11M 3.mtz
 d52d5012d132b376bf1b214536a2498f 8.4M 3.mtz
 3ce74fa62773e7768dadc5638c4fe056 140K default_3.jpg
 ee4c1aa5f3470a8d27a34d1c4a7b748c 2.1M default_2.jpg
 ee4c1aa5f3470a8d27a34d1c4a7b748c 2.1M default_1.png

 

用到的知识点总结:

1、shell 的for 循环 (包括 循环取得指定目录下的文件名)

2、md5sum filename // 计算指定文件的md5

3、du -sh filename // 计算指定文件的大小(单位:M)

 

上述脚本的确定:对指定目录下存在的文件夹未作判断,因为是临时使用,所以这里只是简单实现了功能

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值