我试图在目录中递归地获取 PDF 文件总大小的总和。我尝试在目录中运行下面的命令,但是递归部分无法正常工作,因为它似乎只报告当前目录中的文件,而不包含其中的目录。我预计结果大小接近 100 GB,但该命令仅报告大约 200 MB 的文件。
find . -name "*.pdf" | xargs du -sch
Run Code Online (Sandbox Code Playgroud)
请帮忙!
用于stat -c %n,%s获取各个文件的file name和。size然后使用awk求和大小并打印。
$ find . -name '*.pdf' -exec stat -c %n,%s {} \; | awk -F, '{sum+=$2}END{print sum}'
Run Code Online (Sandbox Code Playgroud)
事实上你不需要%n,因为你只想要总和:
$ find . -name '*.pdf' -exec stat -c %s {} \; | awk '{sum+=$1}END{print sum}'
Run Code Online (Sandbox Code Playgroud)