がemacs
スタイルの正規表現ということです
おかげで、よ?
もしそうでない場合は、-regextype
を試してみてください。 (古風)Linux上find
manページから:
のMacOS X上で
、マニュアルページは言う:
-regex
よう
-iregex pattern
が、試合は大文字と小文字を区別しません。
-regex pattern
真ファイルのパス全体が、正規表現を用いたパターンと一致した場合。 './foo/xyzzy
'というファイルと一致させるには、正規表現 '.*/[xyz]*
'または '.*/foo/.*
'を使用できますが、 'xyzzy
'または '/foo/
'は使用できません。
find pdf -iregex ".*/.*.pdf"
は、それらの完全な私のフォルダにPDFファイルの全体の多くを見つけたが、これらの変異体のいずれもが何も見つからなかっ:
いくつかの実験をすることを示している
find pdf -iregex ".*/.*\.(pdf|doc|docx)"
find pdf -iregex ".*/.*\.\(pdf|doc|docx\)"
find pdf -iregex ".*/.*.(pdf|doc|docx)"
find pdf -iregex ".*/.*.\(pdf|doc|docx\)"
その結果、1をMacOS X(BSD)find
でサポートされている正規表現に、認識された文字の中に括弧とパイプが含まれていないと仮定しなければなりません。 「同情:man 7 re_format
はそれを示唆しているが、そうではない。 -regextype
オプションはMacOS X(BSD)ではサポートされていないようです。
だから、それはGNU find
をインストールするか、N個の異なるファイル拡張子のためのNの別々の検索を行う、または一般的にファイルのための1つの検索を行うと、あなたが興味を持っているファイルをキャッチするegrep '\.(aff|wave?|aiff)$'
を使用するのが最も簡単かもしれません。ということむしろ、ファイル名に改行を使用しないことを前提としています(スペースはOKですが、改行はありません)。あなたが探している
。私は私の質問を変更しました。 – jml
regexではない 'find'コマンドは出力をコンソールに出力しますか?正規表現の責任を別のユーティリティに渡すために、次のようなものを試すことができます: 'find。 | grep -e "。* \。\(wav \ | aif \)" ' – ajshower
これは完璧です。ありがとう...私はそれらを削除するユーティリティにどのように渡すことができますか? – jml