按年份统计输出ls -al命令下文件和目录的总大小
时间: 2024-01-18 09:05:15 浏览: 70
可以使用 ls 命令结合 awk 命令来按年份统计输出文件和目录的总大小,命令如下:
```
ls -al | awk 'BEGIN {year = ""} {if ($8 ~ /^[0-9]{4}$/) {year = $8} sum[year] += $5} END {for (y in sum) {print y, sum[y]/1024/1024 "MB"}}'
```
其中,ls -al 命令用于列出当前目录下所有文件和目录的详细信息;$8 表示第八个字段,即文件或目录的年份;$5 表示第五个字段,即文件或目录的大小;$8 ~ /^[0-9]{4}$/ 表示判断第八个字段是否为四位数字,如果是,则认为该行记录是文件或目录的信息,记录该行信息所属的年份;sum[year] += $5 表示将该行记录所属年份的大小累加到数组 sum 中;END 为 awk 提供的特殊模式,表示在处理完整个文件后执行的操作;for(y in sum) 表示遍历数组 sum,y 为数组元素的键值,即年份;sum[y]/1024/1024 "MB" 表示将该年份下的文件和目录总大小从字节转换成 MB,并输出。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![bz2](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)