我正在尝试递归获取目录中PDF文件的总大小。我尝试在目录中运行以下命令,但是递归部分无法正常运行,因为它似乎仅报告当前目录中的文件,而不包括其中的目录。我期望结果将接近100 GB,但是该命令仅报告大约200 MB的文件。
(function () {
if (typeof window.R === 'undefined') {
var s = document.createElement('script');
s.setAttribute('src', 'source goes here!');
document.body.appendChild(s); // this appends the script to the body you can also use document.head.appendChild(s) to append to the head
}
}());
请帮助!
答案 0 :(得分:0)
使用stat -c %n,%s
获取单个文件的file name
和size
。然后使用awk
来计算尺寸并打印。
$ find . -name '*.pdf' -exec stat -c %n,%s {} \; | awk -F, '{sum+=$2}END{print sum}'
实际上,您不需要%n
,因为您只需要总和:
$ find . -name '*.pdf' -exec stat -c %s {} \; | awk '{sum+=$1}END{print sum}'
答案 1 :(得分:0)
您可以使用以下方法获取所有文件的大小总和:
find . -name '*.pdf' -exec stat -c %s {} \; | tr '\n' '+' | sed 's/+$/\n/'| bc
首先find
查找指定的所有文件,并且每个文件运行stat都会显示文件大小。然后,我使用tr
使所有换行符带有'+',然后删除换行符的尾部'+',并将其传递给bc,后者打印出总和。