小编Arn*_*nez的帖子

所有文件大小的总和

我是 bash 新手,我需要编写一个小脚本来汇总所有文件大小(不包括子目录)。我的第一个想法是保留这些列ls -l。我无法使用 grep、du 或我在这里看到的其他高级命令。

$9 对应于显示名称的第 9 列。

$5 是文件的大小。

ls -l | awk '{if(-f $9) { total +=$5 } }; END { print total }
Run Code Online (Sandbox Code Playgroud)

ls bash awk shell-script files

3
推荐指数
1
解决办法
4318
查看次数

使用 find 按大小排序所有文件

作为实践,我需要完成一个脚本,该脚本通过给定扩展名(例如 .txt)(包括子目录中的扩展名)按大小对所有填充进行排序。

For example; 
./ex1.sh einstein txt
einstein/copyright.txt
einstein/do-how.txt
einstein/etext9/bil11.txt
einstein/etext9/2ws271.txt
einstein/etext9/liber11.txt
einstein/etext0/bib0010h/Readme.txt
einstein/etext0/kknta10.txt
Run Code Online (Sandbox Code Playgroud)

我不能使用 du 或其他高级命令。在某些时候我需要使用查找,我尝试了这样的事情

find -depth - type f -name "*.$extension" | sort ....
Run Code Online (Sandbox Code Playgroud)

但这并不能很好地工作,因为我真的不知道如何按大小对它们进行排序,只有我得到的结果是按名称排序的。

我正在寻找类似于 ls -lhS 但包括子目录的输出。

size bash find shell-script sort

1
推荐指数
1
解决办法
3202
查看次数

标签 统计

bash ×2

shell-script ×2

awk ×1

files ×1

find ×1

ls ×1

size ×1

sort ×1