egrep -i '12-12.*\swarning' log.file | cless
上記のコードは、日付と12-12
ランダムな文字、スペース、および追加のWarning
テキストを含む2行を生成します。
2011-12-12 textetc Warning 1234
2011-12-12 textetc Warning 5678
最後に1234を含まない行だけを返したいです。私はGNU grep 2.5.4を使用しています。
現在これが私の解決策です。
egrep -i '12-12.*\swarning' log.file > tmp.txt
egrep -i -v '1234' tmp.txt
私はファイルを生成せずに最初のパイプを2番目のパイプに接続しようとしましたが、あまりにも返すか、すべて間違っているか何も返しません。
答え1
2秒を使用する必要がありますgrep
。
grep -i '12-12.*[[:space:]]warning' log.file | grep -v '1234$'
または、次のものを使用できます。awk
awk '/12-12.*[[:space:]]warning/ && ! /1234$/' log.file