圧縮アーカイブから特定のフォルダの内容のみを特定のディレクトリに抽出します。

圧縮アーカイブから特定のフォルダの内容のみを特定のディレクトリに抽出します。

これはSOに非常に近いです。圧縮されたアーカイブから特定のフォルダのみを特定のディレクトリに抽出する方法は? 近いことが必要ですが、常にコンテンツだけでなくコンテンツを含むフォルダをインポートします。

 #note $2 is passed in and would be == "magefoler"
 unzip /srv/file.zip "$2-master/*" -d /srv/www/mage/

このような構造のファスナーを入手するにはどうすればよいですか?

file.zip
 |-magefoler-master/
 |-magefoler-master/app/*tons of files
 |-magefoler-master/skin/*tons of files

別のフォルダに移動する必要がありますが、移動できません。とフォルダmagefolerだけが必要です。これは必ずしもこれら2つのフォルダという意味ではなく、その中にあるサブコンテンツ、ファイル、またはフォルダを削除する必要があるという意味です。回避しようとしているのは、すべてをフォルダにエクスポートしてからそこから移動することです。appskinmagefoler

私が探している最終結果は、/mage次のフォルダに出力したzipファイルからのものです。

/srv/www/mage/
     |--/mage/app/*tons of files
     |--/mage/skin/*tons of files

ベストアンサー1

ここに直接解凍できますか?

$ unzip /srv/file.zip "$2-master/*" -d /srv/www/

次に、フォルダをmagefoler-master次に移動するか名前を変更しますmage

$ mv /srv/www/magefoler-master /srv/www/mage

代替?

過去にこの正確な問題を調査しながらmv

  1. Gillesが推奨するようにFUSEを使用してください。解凍時にサブディレクトリを生成しないようにunzip / zipを強制する方法は?
  2. zipnoteこのツールを使用して、zipアーカイブのファイルを解凍する前に移動します。

おすすめ記事