名前が1〜2桁の数字krita-NN.kra
の形式のファイルがあります。私は彼らがEmacs正規表現を使用したいとNN
思います。locate
しかし、後位演算子の反復Emacs正規表現(\{n, m\}
、、\{n\}
)は許可されていないようですlocate
。具体的には両方
locate --regex --regextype emacs 'krita-[0-9]\.kra$'
locate --regex --regextype emacs 'krita-[0-9][0-9]\.kra$'
関連する結果を返しますが、次の操作に正規表現はありません。
locate --regex --regextype emacs 'krita-[0-9]\{1,2\}\.kra$
;locate --regex --regextype emacs 'krita-[0-9]\{1\}\.kra$
。
中かっこがエスケープされていない場合も同様です。
質問:locate
Emacsはマニュアルページで主張するように正規表現を受け入れますか?
ノート:
- この質問は代替ソリューションを探しているものではありません。例えばまたは
find
他の正規表現型。 locate
バージョン:locate (GNU findutils) 4.7.0
答え1
@Stéphane Chazelasが提案したように、Texinfoドキュメント()は正規表現の反復演算子を指定info -n emacs locate
しません。emacs
Emacs正規表現。逆に、正規表現型はgrep
私が期待する構文を使用してこれをサポートします。今すぐ、
locate --regex --regextype grep 'krita-[0-9]\{1,2\}\.kra$
この問題を解決しました。