正则表达式 - 查找具有一个字符串的事件

时间:2012-11-14 11:12:46

标签: linux shell grep

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

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

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

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

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

任何帮助?

3 个答案:

答案 0 :(得分:1)

将您的查找命令本身更改为

find /var/www/vhosts/ -not \( -name "*.jpeg" -o -name "*.jpg" \) -ctime 0 -type f

答案 1 :(得分:0)

使用-regex!(否定):

find $DIR -regextype posix-extended ! -regex '.*\.(gif|jpg|pdf|png)$'

答案 2 :(得分:0)

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

find /var/www/vhosts -ctime 0 -type f \! -iname \*.jpg \! -iname \*.jpeg