Linux (SuSE) でこのコマンドを実行すると:
find / -name ant
次のようなエラー メッセージが多数表示されます:
find: `/etc/cups/ssl': Permission denied
find
これらのエラーの表示をスキップし、アクセス権限のあるファイルのみを試行するための引数が必要ですか?
答え1
へのメッセージをフィルタリングできますstderr
。私は、stdout
このように にリダイレクトすることを好みます。
find / -name art 2>&1 | grep -v "Permission denied"
説明:
つまり、すべての通常の出力は標準出力 ( stdout
) に送られます。すべてのエラー メッセージは標準エラー ( stderr
) に送られます。
grep
通常は指定された文字列を検索/印刷しますが、-v
これを反転して、指定されたすべての文字列を検索/印刷します。しないstderr
「アクセス権が拒否されました」という内容が含まれています。通常(ファイル記述子 2)に送信されるエラー メッセージを含む find コマンドからのすべての出力は、stdout
(ファイル記述子 1) に送信され、コマンドによってフィルタリングされますgrep
。
これはシェルを使用していることを前提としていますbash/sh
。
下記でtcsh/csh
使用する
find / -name art |& grep ....