ディレクトリに一連のファイルがあります。すべての形式はtest[0-9][0-9].txt
。走れば
find . -regex ".*/(test)[0-9][0-9]\.txt"
すべてのファイルが表示されますが、実行すると
find . -regex ".*/(test)[0-9]{2}\.txt"
その後、何も表示されません。何が悪いのですか?
これに似た以前の質問を検索しましたが、特に関連性のある答えが見つかりません
GNU
findを使用している場合、これはうまくいくはずです
find . -regextype sed -regex "./test[0-9]\{2\}.txt"
-regextype sed
-基本的なposix正規表現を使用します(これが私が使い慣れているためです)./
-相対検索のすべてのファイルパスがこのパターンで始まると見なされるため、必要です[0-9]\{2\}
-量指定子[0-9]
括弧付きの\{...\}
数字文字クラスの2つのインスタンス-エスケープされた- ごとの基本的なposix正規表現