ターゲティング:正規表現反復サフィックス演算子は--regextype emacsと連携しません。

ターゲティング:正規表現反復サフィックス演算子は--regextype emacsと連携しません。

名前が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$

中かっこがエスケープされていない場合も同様です。

質問locateEmacsはマニュアルページで主張するように正規表現を受け入れますか?

ノート:

  • この質問は代替ソリューションを探しているものではありません。例えばまたはfind他の正規表現型。
  • locateバージョン:locate (GNU findutils) 4.7.0

答え1

@Stéphane Chazelasが提案したように、Texinfoドキュメント()は正規表現の反復演算子を指定info -n emacs locateしません。emacsEmacs正規表現逆に、正規表現型はgrep私が期待する構文を使用してこれをサポートします。今すぐ、

locate --regex --regextype grep 'krita-[0-9]\{1,2\}\.kra$

この問題を解決しました。

関連情報