UNIX .gzファイルの内容を印刷する

UNIX .gzファイルの内容を印刷する

次の内容を含む .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が指摘したように、zgrepgrepは(おそらく圧縮された)ファイル内の文字列を探します。警告一致する前に2行を印刷するために使用され、-B2一致するすべてのファイルのIDを抽出するために標準を使用します。grepstdout

これは、圧縮ファイルが複数あるか、同じファイル内に複数の一致するセクションがあるかに関係なく適用されます。

おすすめ記事