名前付きファイルを検索しようとしていますが、dork
名前付きファイルを除外したいと思いますdork.zip
。また、ディレクトリ権限のエラーも削除しました。
だから、次のようにコマンドを作成します。
find / -name "dork*" -and !"zip" 2>&1 | grep -iv "not"
期待どおりに動作しませんでした。
ベストアンサー1
find / -name 'dork*' ! -name '*.zip'
2つのテストを使用する必要があります-name
。 1つは一致用dork*
で、もう1つは一致用です*.zip
。 2番目は、!
見つかった名前が一致しないように反転()する必要があります。テストの間には常に暗黙的なANDがあります。
暗黙的なANDを可視化します。
find / -name 'dork*' -a ! -name '*.zip'
また、非標準のGNU構文を使用します。
find / -name 'dork*' -and -not -name '*.zip'
結果のエラーを無視するには、標準エラーストリームを/dev/null
最後にwithにリダイレクトします。2>/dev/null
GNUを使用すると、find
読み取れないディレクトリを入力しないように選択できます。
find / \( -type d -not -readable -prune \) -or \
\( -name 'dork*' -not -name '*.zip' -print \)