回答:
unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path>
EL 6で正常に動作します
"\\"
使用されます(そうでない場合は、どの文字が特別なエスケープかを常に覚えておく必要があります)。したがって、著者が「グロブ文字を引用する」ことを意味する場合、引用の違いになります(不要)。いずれにせよ、そのような単一のバックスラッシュはタイプミスです。
試してください:
unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
caution: filename not matched: foldername/\*
実行unzip $repozip "$2-master/\*" -d /srv/www/magento/
する$2
と、zip内のフォルダー名がどこにあるかを取得します。すべてのファイルとフォルダーを引き出したい
"path/*"
。
mv
、私はそれらを必要なファイルを取得するために、その後。
-j
そのために使用します。
-j
すべてのパス情報を削除し、すべてのファイルがターゲットフォルダーに入ります。パスの共通部分のみを削除する方法はありますか?zipに似てい-r
ます。
既存の2つの答えはどちらも正しいですが、ターゲットディレクトリを指定するのは少し難しいため、より明確にする必要があります。
/target/root/
元の解凍アクションのターゲットディレクトリであるとしましょう。例えば:
unzip -qq src.zip -d "/target/root/"
次に、/target/root/
unzipが機能する方法として、特定のサブディレクトリのみを抽出する場合でも、後でターゲットディレクトリと同じものを使用する必要があります。
unzip -qq src.zip "sub/dir/*" "/target/root/"
結局のところ、ルールは実際には単純であり、-d
オプションに同じターゲットルートディレクトリを使用します。
ところで、-qq
オプションは、unzipが本当に静かになるようにすることです。気軽に削除してください。