私はsed
最近それを使い始めました。私が使用する便利な方法は、ログファイル内の重要ではない行を無視することです。
tail -f example.com-access.log | sed '/127.0.0.1/d;/ELB-/d;/408 0 "-" "-"/d;'
ただし、同様に使用しようとすると、find
結果は予想とは異なります。次のように、「Permission Denied」を含む行を無視しようとします。
find . -name "openssl" | sed '/Permission denied/d;'
ただし、まだ「許可を拒否しました」というメッセージがたくさん表示されますstdout
。
編集する
以下の答えで述べたように、「Permission Denied」というメッセージが表示され、stderr
NOTに表示されますstdout
。
ベストアンサー1
問題は、エラー出力が次に印刷されることです。標準エラーそのため、sed
コマンドは入力をキャプチャできません。簡単な解決策は、stderrをstdoutにリダイレクトすることです。
find . -name "openssl" 2>&1 | sed '/Permission denied/d;'