次のデータを含むログファイルがあります。
2019-02-11 00:05:58.241 [exec-178] Start request
2019-02-11 00:05:58.242 [exec-178] customer_name
2019-02-11 00:05:58.243 [exec-178] other process
2019-02-11 00:05:58.244 [exec-178] other process
2019-02-11 00:05:58.245 [exec-178] results
2019-02-11 00:05:58.246 [exec-178] End request (13ms)
単一のgrepコマンドを使用して「customer_name」と「End request」をキャプチャしたいと思います。使用しようとしましたが、grep -E "[0-9]{2,4}ms
期待した結果は出ません。
予想出力:
2019-02-11 00:05:58.242 [exec-178] customer_name
2019-02-11 00:05:58.246 [exec-178] End request (13ms)
ベストアンサー1
grepを使用してgrep -E
見つけることができるパターンは、パイプ記号で区切られています。
[root@server ~]# grep -Ei "customer_name|end request" file
2019-02-11 00:05:58.242 [exec-178] customer_name
2019-02-11 00:05:58.246 [exec-178] End request (13ms)
[root@server ~]#
抜粋man grep
:
-E、--extended-regexp PATTERNを拡張正規表現(ERE、以下を参照)として解釈します。
-i、--ignore-case PATTERNと入力ファイルの大文字と小文字の違いを無視します。