アーカイブを単一のフォルダに抽出

アーカイブを単一のフォルダに抽出

おそらくこれが第1世界問題の頂点かもしれませんが、長年の不安の末に私はそれを公開的に明らかにしなければならないという感じを受けました。

funtool.zipフォルダにダウンロードしたとします~/Downloads。 2つのオプションがあり、それぞれのアーカイブに正しいルートフォルダがあるかどうかによって、2つの可能な結果があります。

unzip funtool。考えられる結果:

  • ~/Downloads/funtool/(files)- いいね
  • ~/Downloads/(lots of files)——ああ!ダウンロードフォルダがめちゃくちゃです。

unzip funtool -d funtool。考えられる結果:

  • ~/Downloads/funtool/funtool/(files)--ダブルフォルダ。迷惑私!
  • ~/Downloads/funtool/(files)- いいね

インテリジェントなGUI解凍器を見たことがありますが、私はCLIの専門家です。私の解決策はルートフォルダを確認し、unzip -t funtoolそれに応じて行動することでした。しかし、数年後、私は十分に疲れました。

rarファイルに対しても自動的にこれを実行できるスクリプトやその他のものはありますか7z?少なくともtar毎回やることが正しいようです。おそらく良い習慣のためです。

ベストアンサー1

さまざまなアーカイブ形式のCLIフロントエンドには、次のものがありますunp1つのコマンドで(ほぼ)すべてを解凍します。

次のオプションがあると主張します。

   -u Special helper mode.
      For most archive types:
      - create directory <filename without suffix>/
      - extract contents there
      For Debian/Ubuntu packages:
      - extract data.tar.gz after each operation in local directory
      - extract control.tar.gz into control/<package_version_arch>/
   -U Smart mode, acts like -u (see above) if archive contains multiple
      elements but if there is only one file/directory element then it's stored 
      in the current directory.

それからまるであなたが探している行動に近いようです。

-Uただし、zipファイル名自体に関連付けられていない単一のファイルを含むZIPの場合、このモードはまだ単一のファイルを削除します。

おすすめ記事