查找+正则表达式:查找具有多个扩展名的文件名,但缺少基本文件名.jpg

查找+正则表达式:查找具有多个扩展名的文件名,但缺少基本文件名.jpg

我是 regex & SE Unix 和 Linux 新手,所以我希望我做的一切都是正确的。

我正在寻找文件名中包含名称并且可能具有不同扩展名的文件。我的初步试验基于这个答案(linux部分)以及我对find和正则表达式的基本了解,但成功有限。

我试过这个正则表达式.*filename[^/].*\.(jpg|xcf|png|jpeg),里面find是这样的find . -iregex '.*filename.*\.\(jpg\|gif\|png\|jpeg\)$'。这个想法是排除目录名称中出现的“文件名”,因此是[^/]正则表达式的“不带正斜杠”部分,但它排除了最基本的(也是必要的)格式,例如 filename.jpg

我也尝试过find . -type f -iregex '.*filename.*\.\(jpg\|gif\|png\|jpeg\)$',但我感觉使用正则表达式可能会绕过该-type标志,因为我仍然得到结果中的所有目录。

你能分享一些光吗?

相关内容