Help us understand the problem. What is going on with this article?

grepでパターンにマッチした文字列だけを出力する(-o オプション)

More than 1 year has passed since last update.

たまにしか使わなくてよく忘れるのでメモ。

実際にはこんなシチュエーションだった。

postfixのメールログからステータスの統計とろうとしていた。
しかし、postfixのログフォーマット的に、status=xxx の現れる位置が
スペース区切りで考えてもカンマ区切りで考えても一定にならないので
cutawk では切り出せなくて1
なんか方法ないかな・・・と調べていて
grep-o オプションでできることに気づいた。

$ grep -E -o ”status=\S+” /var/log/maillog | sort | uniq -c
   1386 status=bounced
  40125 status=deferred
    167 status=expired,
   7197 status=sent

めっちゃエラー出てた:sweat_smile:
(このエラーはその後無事に解消した)


  1. awk にあまり詳しくないので何かやり方あるのかもしれないが当時は思いつかなかった。 

m_norii
最近触っているのは、 AWS, PHP, Laravel, MySQL, BigQuery 最近は Zenn の方に記事を書いているので、こちらもよろしくです。 https://zenn.dev/m_norii
https://norii.hatenablog.com/
openlogi
物流はこれから、テクノロジーによりダイナミックに変化する業界です。物を作る人とそれを欲しい人、その間の物流や配送がすべてネットワーク化された、需要と供給が最適化される次世代のインフラづくりを私たちは目指しています。
https://openlogi.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away