
入力として.tar.gzがあり、そのうち最初の128MiBを抽出し、単一のコマンドで.tar.gzに出力しようとしています。私は試した:
sudo tar xzOf input.tar.gz | sudo dd of=output bs=1M count=128 iflag=fullblock | sudo tar -cfz final.tar.gz -T -
これは明らかに動作しません。どうすればいいですか?
答え1
アーカイブの内容を抽出しようとしないでください(ここでは機能しません。個々のファイルのメタデータを追跡する方法はありません)、代わりに解凍して切り取り、再度圧縮してください。これを行うバージョンがある場合head
:
gzip -dc input.tar.gz | head -c128M | gzip -c > final.tar.gz
または、dd
次のコマンドを使用できます。
gzip -dc input.tar.gz | dd bs=1M count=128 iflag=fullblock | gzip -c > final.tar.gz