2017-11-06 21 views
0

2番目のファイルの複数の文字列に一致する非常に大きなgzファイルから行を抽出する最適な方法は何ですか? 、時々必要な文字列が近い50行に含まれていないがgrep gzファイルの複数の文字列

gunzip -c /myfolder/large_file.gz | grep -B 50 "33754548" > /myfolder/specific_linesfrom_large_files.txt 

ので、私は未遂::

私はその文字列のために働くとその周辺た、試してみた

gunzip -c /myfolder/large_file.gz | grep -F /myfolder/multiple_strings.txt > /myfolder/specific_linesfrom_large_files.txt 

didnのどちら何の提案もありませんか?例えば

multiple_strings.txtファイルが含まれる可能性があります。また、使用

16804029 
42061608 
42069963 
42072123 
177479064 
177420374 
+1

私は '-f'ではなく' -f'を意味すると思います。 –

+0

bzcatとgrepはどうですか? –

+5

あなた自身を解凍する代わりに 'zgrep'はどうですか? –

答えて

0

zgrepを使用して圧縮ファイルを検索します。 bzgrep(bzip2ファイル用)、xzgrepなど(圧縮ファイル用)などのコマンドもあります。

zgrep -f match_strings.txt file.gz 

-fは、指定されたファイルからパターンを読み取るためのフラグです。

0
gunzip -c /myfolder/large_file.gz | grep -f /myfolder/multiple_strings.txt > /myfolder/specific_linesfrom_large_files.txt 

は、たとえば、あなたが正確なパターンを検索-xあなたが123を検索する場合は1234、123など一致させることができます。-xを使用すると、123だけが一致します。

関連する問題