просмотра назад я пытаюсь соответствовать всем файлам, которые не заканчиваются на jpg
/png
/jpeg
/gif
, и которые также не имеют файла, начиная с .
.Regex для имен файлов без использования
Я передаю это регулярное выражение в find
так:
find -E path/to/dir myregex
Вот регулярное выражение
^.*\/[^\.].*\.(?!jpeg$)(?!jpg$)(?!gif$)(?!png$)([^jgp]..|j[^p].|g[^i].|p[^n].|jp[^g]|gi[^f]|pn[^g]|jpg.+|png.+|gif.+|jpe[^g]|jpeg.+)[^\.]*$
Он появляется на работе, но человек это долго ... можно было бы, написать функцию для ее создания ... но я бы хотел, чтобы был более простой способ.
Я не думаю, что версия find
, которую я использую (OS X Mavericks), поддерживает lookbehind, но даже если бы это было так, я хотел бы знать, есть ли альтернатива.
Вот интерактивная версия: http://regex101.com/r/xD9qC2/1
Вы уверены, что 'find' поддерживает прогностическое? Я посмотрел документацию Mac на 'find' и' re_format', но я ничего не вижу о перспективах. – nhahtdh
Вы считали «найти путь/to/dir -not -iname» * .jpg «-not -iname» * .jpeg «-not -iname» * .png «-not -iname» * .gif «-not - iname ". *" '? –
@Ken Спасибо, что указали это. Я не знал об этом -не или -не. Думаю, я должен RTFM. –