ディレクトリを解凍するか、ディレクトリがZIPに含まれている場合はスタンドアロン

ディレクトリを解凍するか、ディレクトリがZIPに含まれている場合はスタンドアロン

内容には次のようなZIPファイルがあるとしましょう。

# file: with_out_dir.zip
file1.txt
file2.cpp
file3.js
some_sub_dir/
- file_in_subdir.txt
file4.xml

しかし、このように見えるかもしれません

# file: with_dir.zip
archive/
- file1.txt
- file2.cpp
- file3.js
- some_sub_dir/
-- file_in_subdir.txt
- file4.xml

今ではbashスクリプトからこれらのファイルを抽出しますが、とにかく/var/sample/次の場所に抽出する必要があります。

# expected output
/var/
- sample/
-- file1.txt
-- file2.cpp
-- file3.js
-- some_sub_dir/
--- file_in_subdir.txt
-- file4.xml

スクリプトでこれを達成するための最良の方法は何ですかbash

現在、私はunzipzipファイルを抽出するためにこのツールを使用していますが、使いやすい他のコマンドラインツールを使用することもできます。

ベストアンサー1

私は単に提供する:

  • 新しいディレクトリに解凍
  • 抽出後に新しいディレクトリにサブディレクトリが1つしか含まれていない場合は、そのディレクトリ内のすべてのファイルを1レベル上に移動して元のサブディレクトリを削除します。

しかし、アーカイブ(tar、zipなど)を作成してください。いいえアーカイブのすべてのメンバーをサブディレクトリに配置する邪悪な。人々がなぜこれをするのか分からない!

おすすめ記事