tar でまとめてある複数のテキストファイルをディスクに展開せずに走査する 2011-02-01-2 [Programming] 大量のログデータをもらってきて分析するようなときなどに表題のタスクに遭遇する。無闇に tar ball を展開するとすぐにディスクフルになりがちゆえ。 このような場合は tar の O オプション(大文字のオー)を用いる。 以下、例で説明。 data.tar.gz には 0001.txt から 1000.txt までの千個のテキストファイルが入っているとする。 (1) 行数を数えるには: tar zxOf data.tar.gz | wc -l (2) 特定の文字列を含む行を取り出すには: tar zxOf data.tar.gz | grep 'lang:ja' (3) 文字コードを変換して圧縮して置いておくには: tar zxOf data.tar.gz |
