gzip圧縮されたファイルのテキスト操作
3610 ワード
はじめに
ディスク容量をおさえるために、ログ・ファイルなどはローテートする際に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
$ 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
を一度かませば、標準出力にでるので、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 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
$ 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
補足
$ zless sample.csv.gz
$ 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
補足
$ zgrep 'sample3' sample.csv.gz
3,sample3,08
zcatなど、もとのコマンドにzをつけたものは、もとのコマンドのオプションがつかえます。
参考リンク
Author And Source
この問題について(gzip圧縮されたファイルのテキスト操作), 我々は、より多くの情報をここで見つけました https://qiita.com/n_slender/items/e5784c66415b53a3f185著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .