如何为我的输出设置一定的限制?

时间:2017-03-18 21:25:04

标签: bash shell

嗯,我要解释的是,我尝试做的基本上是创建一个shell脚本,它将文件大小的数量分成某些类别,例如:

  

文件数< 100B:
  文件数< 1MB:
   文件数< 1GB:

你明白了。 到目前为止,我已经得到了这个

find $PWD -type f -exec ls -al {} \; | cut -d" " -f5 | sort -n

基本上它的作用是仅查找文件,写入文件大小,仅剪切文件大小并从最低到最高排序。

因此,例如输出(STDOUT)将如下所示:

 3   
 2184   
 5709
 15006

问题是,我不知道怎么能得到这个STDOUT并以某种方式基本上设置了文件大小限制(让我们说在这种情况下为100B)所以基本上它在这种情况下只打印数字3有什么想法吗?或者也许是一些完全不同但更有效的方法来完成这项工作?

1 个答案:

答案 0 :(得分:1)

您可以将find-size

一起使用
tmp1=$(find $PWD -size -100c | wc -l)
tmp2=$(find $PWD -size -1M | wc -l)
tmp3=$(find $PWD -size -1G | wc -l)

echo "Number of files <100B: $tmp1"
echo "Number of files <1MB: $tmp2"
echo "Number of files <1GB: $tmp3"