grep
.gzファイルを使用せずに検索キーワードの前の行を印刷するにはどうすればよいですか?
ID:342N000390AAAAAAAA 07/14/15 10:26 (MV90 )
* Register Data Imported
* Warning - No Profile Data
07/14/15 10:24 05/13/15 08:16 15 1 5956
No Profile
キーワードを検索して342N000390AAAAAAAAAのID番号を印刷したいです。 3行目には必ずしも「プロファイルなし」は表示されません。どの行にも表示できます。私のオペレーティングシステムはHP-UXなので、多くのコマンドは使用できません。
ベストアンサー1
あなたが使用できるawk
:
gzcat file.gz | awk '/No Profile Data/{printf "%s\n%s\n%s\n", b, a, $0} {b=a;a=$0}'
gzcat
(またはzcat
Linuxの場合)gzipファイルの内容を標準出力として印刷します。awk
次に文字列を検索し、"No Profile Data"
最初の2行を印刷します。