foo.tbz2
私のディレクトリにファイルがあるとしましょう。tar
アーカイブから別のディレクトリにファイルを抽出したいです。bunzip2
アーカイブと同じディレクトリにのみアーカイブを抽出するようです。
これはうまくいきますが、より良い方法があるかどうか疑問に思います。
cd /another/directory
bunzip2 -k /original/directory/foo.tbz2
答え1
他のbzip2ツールを使用できます。
bzcat foo.tbz2 > /another/directory/foo.tar
bzip2 -ckd foo.tbz2 > /another/directory/foo.tar
別のディレクトリに抽出するには、-Cオプションを使用できますtar
。
tar xjf foo.tbz2 -C /another/directory
答え2
私のアドバイスは*bz2 file
次のとおりです。 tarコマンドには役に立つ多くの機能があるので、持っている場合はそれを使用してください。*.tar.bz2
*.bz2
bunzip
tar command
tar -jxf *.tar.bz2 -C yourplace/
or
tar -jf *.bz2 -C yourplace/
答え3
古いスクリプトバージョン(デュアルディスク書き込みなし - 解凍されたファイルをメモリに保持 - ファイルが大きくディスクが遅い場合は速度に大きな違いがあります):
#!/bin/sh
maxsize=2G
mkdir tmpfs 2>/dev/null
mount -t tmpfs -o size=${maxsize} tmpfs tmpfs
for i in $(ls -rS *.gz | sed 's/\.gz//');
do
nice -n 19 gunzip -c ${i}.gz > tmpfs/${i}
nice -n 19 bzip2 -c tmpfs/${i} > ${i}.bz2
rm -f tmpfs/${i}
if test -s "${i}.bz2"
then
rm -f "${i}.gz"
fi
done
umount tmpfs