Это регулярное выражение должно найти все имена файлов без .
в них: [^.] * = Svn: eol-style = native; svn: исполняемый файл; svn: Keywords = "Author Date Id HeadURL Revision"
РЕШЕНИЕ
Этот glob должен соответствовать любому имени файла, содержащему любое количество символов, за которым следует любой отдельный символ, который не является точкой, за которым следуют три или более символов.
*[!\.]??? = svn:eol-style=native;svn:executable;svn:keywords="Author Date Id HeadURL Revision"
TEST
Я проверил это на моей Linux-коробке:
[msherov@*** testmatch]$ uname -a
Linux ***.***.com 2.6.18-53.1.4.el5 #1 SMP Wed Nov 14 10:37:27 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
[msherov@*** testmatch]$ ls -alt
total 8
drwxr-xr-x 2 msherov wheel 4096 Aug 7 08:42 .
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:42 whatever.pp.p
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:42 whatever.bat.p.p
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:39 whatever.bat.php
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:07 omething2
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:06 something
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:06 whatev.jpg
drwx------ 6 msherov msherov 4096 Aug 7 08:06 ..
[msherov@*** testmatch]$ ls -l ./*[!\.]???
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:07 ./omething2
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:06 ./something
-rw-r--r-- 1 msherov wheel 0 Aug 7 08:42 ./whatever.pp.p
ПРЕДОСТЕРЕЖЕНИЯ
Как вы можете видеть, это исключает только файлы с классическими 3-символьными расширениями, так что если вы являетесь разработчиком c-sharp (использует .cs
) или используете его в html-каталоге (использует .html
) ), это не сработает.
ВОЗМОЖНЫЕ РАБОТЫ
Если вы можете найти шаблон глобуса (я не смог!), Который соответствует «одному или нескольким символам» (в отличие от *
, который соответствует нулю или более) или соответствует «концу строки», вы можете заменить ???
с этим и глобус будет работать для расширений переменной длины.