你能告诉我如何找到目录和子目录中所有文件的总和吗? 我试着制作这个剧本但是没有用。
Sphere
答案 0 :(得分:1)
Unix工具箱中已经有了一个工具。你不必重新发明轮子:
du -x -s * | sort -n
你的du(1)手册页(磁盘使用)有所有的花里胡哨的解释。
答案 1 :(得分:0)
awk命令位于错误的位置。它应该在while循环之后。
答案 2 :(得分:0)
问题在于哪个程序扩展了哪个变量。您希望shell在awk-command中扩展$ l,但是awk命令是单引号,因此shell不会扩展$ l。
将$ l作为变量传递给awk可以解决您的问题:
find . -xdev -type d |
while read l; do
ls -l "$l" |
awk -v "l=$l" ' {sum+=$5} END{print sum " " l} '
done |
sort -n