我试图在 /var/www/vhost 目录中查找过去 24 小时内修改的所有文件。
使用 find 命令可以正常工作,然后,我想过滤列表,因为我不想要 jpg 文件、jpeg 文件等。
现在我有了这个,它工作正常:
find /var/www/vhosts/ -ctime 0 -type f | grep -ve ".jpg$" | grep -ve ".jpeg"
我想(并且知道)我的问题有更好的解决方案。
有什么帮助吗?
将您的 find 命令本身更改为
find /var/www/vhosts/ -not \( -name "*.jpeg" -o -name "*.jpg" \) -ctime 0 -type f
使用-regex
和!
(否定):
find $DIR -regextype posix-extended ! -regex '.*\.(gif|jpg|pdf|png)$'
您可以使用一个 find 命令完成所有操作:
find /var/www/vhosts -ctime 0 -type f \! -iname \*.jpg \! -iname \*.jpeg