因此,我正在尝试清理一些备份,它们变得越来越大,主要是因为 WordPress 为每张图片生成的缩略图数量太多。我几乎找到了解决方案,但自然而然地,有一些异常值使我的解决方案不起作用,我无法找出正确的正则表达式或替代方法来处理这个问题。
目前,我走的是这条路线:
首先,找到所有图像:find . -regex '.*[a-z]-[0-9]+x[0-9]+\.(png|jpg|webp)' | xargs ls
然后,我会像这样删除它们:find . -regex '.*[a-z]-[0-9]+x[0-9]+\.(png|jpg|webp)' | xargs rm -f
这对于诸如这样的缩略图来说效果很好seo-magnifier-256x256.png
。
然而,异常值是诸如、、和之类的图像的图标favicon-16x16.png
(还有apple-touch-icon-114x114.png
更多不同尺寸的图标)。mstile-150x150.png
android-chrome-512x512.png
因此,我试图找出正则表达式来排除以 开头的图像(favicon|apple-touch-icon|mstile|android-chrome)
,但似乎无法得到它。
有人能帮助我确定正确的正则表达式或更好的方法来处理这种情况吗?
答案1
我会做什么:
$ ls -1
apple-touch-icon-magnifier-256x256.png
favicon-magnifier-256x256.png
seo-magnifier-256x256.png
$ find . -regextype egrep \
-not -regex '.*/(favicon|apple-touch-icon|mstile|android-chrome).*' \
-regex '.*[a-z]-[0-9]+x[0-9]+\.(png|jpg|webp)' \
./seo-magnifier-256x256.png
最后,如果您对结果满意,请将其删除,附加到命令的-delete
末尾。find