2016-05-24 6 views
1

私は正規表現でいくつかのログ行を推定する非常に単純なawkスクリプトを持っています。私はそれをテストしていますが、私はこれを行う場合:awk regexp not working

​​

を私は出力がMyClassNameを含む行だけであるべき場合でも、他のクラスから行を取得します。

誰も私にこのことが間違っていると説明できますか?

ありがとうございます。

+1

ここで、pをゼロにリセットしますか? – choroba

+0

私はちょうど私がばかだと分かった...それは今働いている...あなたが答えを書くなら、私はそれを受け入れるだろう。ありがとうございました! – Aurasphere

答えて

3

pをゼロに戻すことはできません。

awk -F ' ' '{p=0} $5 ~ /MyClassName/ {p=1} p {print $5}' myLogFile.log 
+1

pのポイントは何ですか? – 123

+0

私はよく分かりませんが、条件を確認して後で再利用する必要がある実際のケースを単純化したのでしょうか? – choroba

4

あなたは完全にpを使用して回避し、私の知る限りリテラル空間へFS-F)を設定すると、すべてのようにそれを設定しないことと同じであることができます。

awk '$5 ~ /MyClassName/ {print $5}' myLogFile.log 

そして、あなたは、カラム5にのみ関心があるので、

awk '{$0=$5} /MyClassName/' myLogFile.log