获取每个文件每行的权重总和

获取每个文件每行的权重总和

我使用 AIX,需要找出过去 30 天内在目录中创建的文件总数。我已经成功地将这 30 天内创建的所有内容提取到一个文件中,并使用 AWK 命令成功创建了另一个文件,其中包含每个文件的权重。总之,我已经有了一个包含每行权重的文件,但我需要添加每行以获得总权重,但我不知道该怎么做。需要澄清的是,大约有 2,000,000 行。谢谢

答案1

要获取每行列出的文件大小的总和file.list(因此假设文件名不包含换行符):

perl -lne '$sum+=-s; END{print $sum}' file.list

请注意,对于符号链接,它计算的是符号链接目标的大小。

这是表观大小,通常与磁盘使用情况不同。

答案2

此命令将显示过去 30 天内更改的文件大小总和:

find . -mtime -30 -exec stat -c %s {} \; | awk '{SUM+=$1}END{print SUM}'

编辑:文件总和

答案3

我使用这个命令并且它有效:

awk '{suma=0; for (i=1; i<=NF; i++) suma=$i;sumatotal=sumatotal+suma; print sumatotal}' COT2

COT2 是文件的名称。我得到总大小(以 KB 为单位),然后将此数字转换为 GB。

相关内容