{1,2} などの正規表現数量子を使用したコマンドの検索

{1,2} などの正規表現数量子を使用したコマンドの検索

私は数字1から99で終わるすべてのファイルを探して、他のすべてのファイルは除外するfindコマンド文字列を作成しようとしました。

たとえば、私が探したいマイファイル 1 マイファイル 99しかし、私のファイル456まさかマイファイルのバックアップ

私が考える正規表現はですが、myfile[1-9]{1,2}findで動作させることはできません。

find . -regex '.*myfile[0-9]{1,2}' または find . -iname 'myfile[0-9]{1,2}'

私が知る限り、この部分はうまくいきません{1,2}

(ところで、-name -regex入れ替えて使えますか?)

助けてくれてありがとう。

ベストアンサー1

GNU findがある場合は、他の正規表現タイプを使用できます。

find . -regextype sed -regex '.*myfile[0-9]\{1,2\}'

GNUに従ってfind使用中性化 Emacs正規表現構文デフォルトでは、Emacsは\{from,to\}構文をサポートしますが、少なくともGNUはfindそれをサポートしません。

sed奇妙なことに、リファレンスマニュアルには正規表現構文を扱うセクションがないので、どの部分をサポートしているのか誰が知っていますか?

おすすめ記事