次の内容を含む .gz ファイルがあります。
ID:123455 23-07-2015 mvni
warning: RTM post
warning : no profile data
no profile data
文字列を使用してIDを印刷したいです。行の前後にgrepを試しましたが、うまくいきません。他の方法を提案してください。
ベストアンサー1
$ zgrep -B2 'warning : no profile data' *.gz | grep -o '^ID:[0-9]*'
ID:123455
user3188445が指摘したように、zgrep
grepは(おそらく圧縮された)ファイル内の文字列を探します。警告一致する前に2行を印刷するために使用され、-B2
一致するすべてのファイルのIDを抽出するために標準を使用します。grep
stdout
これは、圧縮ファイルが複数あるか、同じファイル内に複数の一致するセクションがあるかに関係なく適用されます。