如何查找过去 24 小时内修改过的文件但无法从隐藏目录中找到并对其进行求和

如何查找过去 24 小时内修改过的文件但无法从隐藏目录中找到并对其进行求和

我有以下命令来查找过去 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

相关内容