zipファイルの作成方法によっては、すべてのファイルを直接抽出する場合と、サブディレクトリにファイルを抽出する場合があります。
後者が当てはまる場合、どうすれば強制的に unzip
コマンドにその第1レベルのディレクトリを「無視」さますか?
例:
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/
(1レベル上にあり、ディレクトリ構造にバージョン番号が含まれていません)
/tmp/omeka/(files)
-j
「パスをジャンク」するオプションを使用できることは知っていますが、最上位のディレクトリ構造だけではなく、サブディレクトリ構造を保持したいです。これどうやってするの?
/wordpress/
zipファイル内のディレクトリ(バージョン番号なし)に入れるソフトウェアがあるため、これを行う効果的な方法があるかどうかはまだ興味があります。それは確かに素晴らしいですunzip
し、次にmv
これのない制御を有していないし、いつも私の神経はほとんど乗った二つのステップでそれを行うに持ちます。幸いなことに、Wordpressにも.tar.gz
フレーバーがあります:)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
ファイルを抽出してから抽出できることは承知していますが、unzipコマンドからすぐにこれを行う方法があるかどうかを確認したいと考えていました