title: how to extract files from a large (30Gb+) zip file on linux server
body: <p><strong>1) extract from large zip file</strong></p>
  
  <p>I want to extract files from a large zip file (30Gb+) on the linux server. There is enough free disk space.</p>
  
  <p>I've tried <code>jar xf dataset.zip</code>. However, there's an error that <code>push button is full</code>, and it failed to extract all of the files.</p>
  
  <p>I tried <code>unzip</code>, but zipfile corrupt. </p>
  
  <pre><code>Archive:  dataset.zip 
  warning [dataset.zip]:  35141564204 extra bytes at beginning or within zipfile
  (attempting to process anyway)
  error [dataset.zip]:  start of central directory not found;
  zipfile corrupt.
   (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)
  </code></pre>
  
  <p>I tried <code>zip -FF dataset.zip --out data.zip</code>, and there's an error that entry too big: </p>
  
  <p><code>zip error: Entry too big to split, read, or write (Poor compression resulted in unexpectedly large entry - try -fz)</code></p>
  
  <p>Is there anyway I can efficiently extract files from really large zip file?</p>
  
  <p><strong>2) extract certain files from a large zip file</strong></p>
  
  <p>If I only want some certain files from this large zip file, is there anyway I can extract only these files? For example, data1.txt from dataset.zip? It seems that I can't use any <code>zip</code> or <code>unzip</code> command (always have the zipfile corrupt problem). </p>
  
  <p>Thanks!</p>