LoginSignup
1
0

More than 3 years have passed since last update.

gzip圧縮されたファイルのテキスト操作

Posted at

はじめに

ディスク容量をおさえるために、ログ・ファイルなどはローテートする際にgzip圧縮されることが多いです。そういったファイルの中身をみるのに、さっと見たいときは解凍するのが面倒です。gzip圧縮したままでやるための小技を整理しました。

もとのファイル

$ cat sample.csv
1,sample1,06
2,sample2,07
3,sample3,08
4,sample4,09
5,sample5,10
6,sample6,11
7,sample7,12
8,sample8,13
9,sample9,14
10,sample10,15
11,sample11,16
12,sample12,17
13,sample13,18
14,sample14,19
15,sample15,20

zcat

zcatを一度かませば、標準出力にでるので、awkなどをパイプすれば、たいがいのテキスト操作ができます。

$ zcat sample.csv.gz
1,sample1,06
2,sample2,07
3,sample3,08
4,sample4,09
5,sample5,10
6,sample6,11
7,sample7,12
8,sample8,13
9,sample9,14
10,sample10,15
11,sample11,16
12,sample12,17
13,sample13,18
14,sample14,19
15,sample15,20

head

$ zcat sample.csv.gz | head
1,sample1,06
2,sample2,07
3,sample3,08
4,sample4,09
5,sample5,10
6,sample6,11
7,sample7,12
8,sample8,13
9,sample9,14
10,sample10,15

tail

$ zcat sample.csv.gz | tail
6,sample6,11
7,sample7,12
8,sample8,13
9,sample9,14
10,sample10,15
11,sample11,16
12,sample12,17
13,sample13,18
14,sample14,19
15,sample15,20

zless

$ zless sample.csv.gz

zdiff

$ zdiff sample.csv.gz sample2.csv.gz
1,15c1,3
< 1,sample1,06
< 2,sample2,07
< 3,sample3,08
< 4,sample4,09
< 5,sample5,10
< 6,sample6,11
< 7,sample7,12
< 8,sample8,13
< 9,sample9,14
< 10,sample10,15
< 11,sample11,16
< 12,sample12,17
< 13,sample13,18
< 14,sample14,19
< 15,sample15,20
---
> 1,sample1,1
> 2,sample2,2
> 3,sample3,3

zgrep

$ zgrep 'sample3' sample.csv.gz
3,sample3,08

補足

zcatなど、もとのコマンドにzをつけたものは、もとのコマンドのオプションがつかえます。

参考リンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0