Zipアーカイブから特定のフォルダーを特定のディレクトリに抽出するにはどうすればよいですか?
使ってみた
unzip "/path/to/archive.Zip" "in/archive/folder/" -d "/path/to/unzip/to"
しかし、それは私が解凍したいパスにフォルダを作成するだけで、他には何もしません。
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
既存の2つの答えはどちらも正しいですが、ターゲットディレクトリを指定するのは少し難しいので、より明確にする必要があります。
/target/root/
が元の解凍アクションのターゲットディレクトリであるとしましょう。例:
unzip -qq src.Zip -d "/target/root/"
次に、特定のサブディレクトリのみを抽出する場合でも、後で解凍先のディレクトリと同じ/target/root/
を使用する必要があります。これは、unzipが機能する方法です。
unzip -qq src.Zip "sub/dir/*" "/target/root/"
結局のところ、ルールは実際には単純です-d
オプションに同じターゲットルートディレクトリを使用。
ところで、-qq
オプションはunzipを本当に静かにするためのものです。自由に削除してください。