egrep:含まれていない

egrep:含まれていない
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

関連情報