特定のファイル拡張子を持つUNIX検索コマンド

特定のファイル拡張子を持つUNIX検索コマンド

prac_デスクトップのディレクトリとサブディレクトリで、ファイル名がで始まり、その後に2桁の数字が続き、またはで.c終わるすべてのファイルを見つけようとします。.o

find ./Desktop -type f -name "prac_[0-9][0-9]*" \( -name "*.c" -o -name "*.o" \)

私が経験している問題は、上記のコマンドがファイルprac_99BLAHBLAH.o形式をprac_99.c

ベストアンサー1

ファイル名に使用されるワイルドカードパターンはすべての文字列と一致する可能性があるため、パターンの1つと一致する名前はorです*prac_99BLAHBLAH.oprac_[0-9][0-9]**.c*.o

代わりに

find ./Desktop -type f -name 'prac_[0-9][0-9].[co]'

ファイル名ワイルドカードパターンは[co]単一の文字cまたはに一致するoため、とともに使用されるパターンの末尾に配置すると、名前の末尾-nameに2つの文字のいずれかがあるファイル名を見つけることができます。

おすすめ記事