我有以下命令来查找过去 24 小时内修改的文件并对所有文件进行总结。
#!/bin/bash
find /mnt/naspath -mtime 0 -print0 | du --files0-from=- -hc | tail -n1 >> /tmp/size.log
exit 0
但是它也会汇总隐藏目录中的文件.snapshot
我在查找手册页中看到的内容我可以.snapshot
用下列方法排除,但我不太明白。
#!/bin/bash
find . -name .snapshot -prune -o \( \! -name *~ -print0 \)
所以现在我希望使用以下命令排除隐藏文件并汇总修改文件,但结果却截然相反。它排除了隐藏文件,.snapshot
但汇总了其余文件。-mtime 0
没有效果。
#!/bin/bash
find /mnt/naspath -mtime 0 -name .snapshot -prune -o \( \! -name *~ -print0 \) | du --files0-from=- -hc | tail -n1 >> /tmp/size.log
exit0
有人知道如何修正该命令吗?谢谢
答案1
Add -not -path '*/\.*' to your command:
find /mnt/naspath -not -path '*/\.*' -mtime 0 -print0 | du --files0-from=- -hc | tail -n1 >> /tmp/size.log