読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

zcatやzlessを使ってgz系で圧縮されたファイルの中身をみる

zcatやzlessを使うと、gz系で圧縮されたテキストファイルの中身をみる事ができます。

前回の記事で扱ったような、Wikipediaベトナムに関するページの圧縮ファイルがあったとします。

$ tee >(wc -l >&2) < vietnam.html | gzip > vietnam.gz
    3638

実は、テキストファイルしか入ってないgzなら圧縮ファイルのまま中身を読みに行く事が可能です。
中身は標準出力に出てきます。

$ zless vietnam.gz 
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>Vietnam - Wikipedia, the free encyclopedia</title>
<meta name="generator" content="MediaWiki 1.25wmf22" />
#...
<td align="center" style="font-size:85%;"><a href="/wiki/Flag_of_Vietnam" title="Flag of Vietnam">Flag</a></td>
<td align="center" style="font-size:85%;"><a href="/wiki/Emblem_of_Vietnam" title="Emblem of Vietnam">Emblem</a></td>
</tr>
</table>
</td>
</tr>

標準出力なら、当然各種文字列整形もできるわけです。

$ zless vietnam.gz | grep ベトナム
<li class="interlanguage-link interwiki-ja"><a href="//ja.wikipedia.org/wiki/%E3%83%99%E3%83%88%E3%83%8A%E3%83%A0" title="ベトナム – Japanese" lang="ja" hreflang="ja">日本語</a></li>

実際のところ

実際にはこんな奇怪な使い方はしません。
GZ系圧縮ファイルは組み込みLinuxカーネル設定ファイルとして突っ込まれてるケースがあったりします。
そんな時、この手を使ってフラグやら何やらの調査をしたりします。

参考もと

  • man zless