解凍時にサブディレクトリを生成しないようにunzip / zipを強制する方法は?

解凍時にサブディレクトリを生成しないようにunzip / zipを強制する方法は?

zipファイルの生成方法によっては、すべてのファイルが直接抽出される場合もあり、サブディレクトリにファイルが抽出される場合もあります。

後者が真の場合、コマンドがunzip最初のレベルのディレクトリを「無視」するように強制するにはどうすればよいですか。

例:

cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll

私が得るものは次のとおりです/tmp/omeka/omeka-1.5.1/

total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/

私が望むのは抽出されたファイルです/tmp/omeka/。 (上位レベル、ディレクトリ構造にはバージョン番号は含まれていません。)

/tmp/omeka/(files)

「ガベージパス」オプションが利用可能であることを知っていますが、最上位-jディレクトリ構造ではなくサブディレクトリ構造を維持したいと思います。どうすればいいですか?

ベストアンサー1

zipファイルにディレクトリ構造が含まれていない場合、または保存する必要がない場合は、次のコマンドを使用できます。

cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
unzip -j omeka-1.5.1.zip -d omeka
cd omeka
ll

おすすめ記事