GNU find はデフォルトで emacs 正規表現を使用します。そのタイプは -regextype
で変更できます オプション (man find を参照)。
-regextype posix-egrep
を使用する場合 あなたの表現は機能しているようです。その後、おそらくパターンを ^.+(jpg|gif|exe)$
に減らすこともできます
emacs の場合:find . -regex '.+\(jpg\|gif\|exe\)$'
.これらの特定の正規表現ルールについては、emacs マニュアルのこのセクションを参照してください。 |
をエスケープする必要があります そして ()
emacs regexps (
では 、 |
と )
文字通りの場合を除き これは、他のすべての正規表現形式とは正反対です。
あなたの式は ^.+\.\(jpg\|exe\|gif\)$
として機能します .