次のコマンドを使用していますが、動作しません
find . PYRLLPS_GL_201610D2* -maxdepth 1 -mtime -30
次のエラーが発生します。
find: bad option -maxdepth
find: [-H | -L] path-list predicate-list
答え1
-maxdepth
いいえPOSIXで指定。あなたのバージョンはfind
このメジャーバージョンをサポートしていないようです。
以下は、POSIXオプションのみを使用して同じ効果を得る方法の説明です。
また、何をしたいのか明確ではありませんが、可能使い方自体find
が混乱しています。
名前で始まるすべてのファイルを見つけるには、演算子をPYRLLPS_GL_201610D2
使用し-name
てパターン自体を拡張(シェルワイルドカード)から保護する必要があります。find
よりシェルによって拡張されたパターンではなく、パターン自体です。
このように:
find . -path '*/*/*' -prune -o -name PYRLLPS_GL_201610D2\* -mtime -30 -print
-mtime -30
現在のディレクトリまたはPYRLLPS_GL_201610D2*
現在のディレクトリ内のディレクトリのいずれかに直接存在するすべてのファイルを見つけたい場合は、正しい考えを持っています-maxdepth
。上記のリンクされた回避策がありません。
答え2
find . -maxdepth 1 -name PYRLLPS_GL_201610D2* -mtime -30
PYRLLLPS_GL_201610D2AAAAというファイルを見つけるには、次のコードが必要です。
find . -maxdepth 1 -name 'PYRLLPS_GL_201610D2*' -mtime -30