1

我试图在 /var/www/vhost 目录中查找过去 24 小时内修改的所有文件。

使用 find 命令可以正常工作,然后,我想过滤列表,因为我不想要 jpg 文件、jpeg 文件等。

现在我有了这个,它工作正常:

find /var/www/vhosts/ -ctime 0 -type f | grep  -ve ".jpg$" | grep -ve ".jpeg"

我想(并且知道)我的问题有更好的解决方案。

有什么帮助吗?

4

3 回答 3

1

将您的 find 命令本身更改为

find /var/www/vhosts/ -not \( -name "*.jpeg" -o -name "*.jpg" \) -ctime 0 -type f
于 2012-11-14T11:18:49.990 回答
0

使用-regex!(否定):

find $DIR -regextype posix-extended ! -regex '.*\.(gif|jpg|pdf|png)$'
于 2012-11-14T11:18:10.147 回答
0

您可以使用一个 find 命令完成所有操作:

find /var/www/vhosts -ctime 0 -type f \! -iname \*.jpg \! -iname \*.jpeg
于 2012-11-14T11:21:37.270 回答