
.pem
ファイルのリストが与えられ、またはで終わるファイルをすべて検索します.cer
。このコマンドは PEM を検索するために機能します。
find . -d 1 -regex ".*\.pem"
しかし、このコマンドでは何も見つかりません:
find . -d 1 -regex ".*\.(pem|cer)"
この構文は、BBedit パターン プレイグラウンドで機能します。検索で正規表現グループを使用する方法はありますか?
答え1
私はこれに正規表現を使用しません。代わりに以下を使用します:
find . -name "*.pem" -o -name '*.cer'
正規表現の解析には CPU 時間のコストがかかるため、さらに高速になる可能性があります (ただし、ここでは秒単位の話です)。
編集:
Hannu さんのコメントを見ると、(最初に試したコマンドに基づいて) サブディレクトリをチェックしたくないのではないかと思います。その場合は次のようになります。
find . -maxdepth 1 -name "*.pem" -o -name '*.cer'
答え2
このコマンドでは何も見つかりません:
find . -d 1 -regex ".*\.(pem|cer)"
次のように、の'
代わりに"
と をエスケープして使用する必要があります。(
)
find . -d 1 -regex '.*\.\(pem|cer\)'