2015-12-09 7 views
6

私は約1百万のファイルを含むlarge.tar.gzファイルを持っています。そのうちの約1/4が​​htmlファイルです。その中の各htmlファイルの数行を解析したいと思います。大きなtar.gzファイルの内容をSTDOUTにパイプする方法は?

私が代わりに私がそのようSTDOUTにどのようにすることができますIパイプlarge.tar.gzストレートでのhtmlファイルの内容を知っていただきたいと思い、フォルダに大きなlarge.tar.gzの内容を抽出することを避けるため、その後のhtmlファイルを解析したいです私は彼らから欲しい情報をgrep /解析することができますか?

私のようないくつかの魔法がなければならないと推定:任意のアイデア

tar -special_flags large.tar.gz | grep_only_files_with_extension html | xargs -n1 head -n 99999 | ./parse_contents.pl - 

+1

にファイルを抽出あなたがstdoutに意味ですか? – 123

+1

申し訳ありませんが、私は、STDOUTを意味123 @今修正 – Aaron

+0

あなたはそれが30行未満ですが、質問を投稿する前に時間のほとんどを ' --help'や' -h'をチェック考慮すべきであるそのうちの一つは、必要なフラグが含まれています – 719016

答えて

16

使用GNUのtarと、これはtgzファイルを標準出力に抽出する:

tar -xOzf large.tar.gz --wildcards '*.html' | grep ... 

-O, --to-stdout:標準出力

+0

'zgrep'の何が問題なのですか? – Yaron

+0

@ Yaron: 'pigz -dc'はより高速ですが、私はzcatを使うと思います。 – d33tah

関連する問題