GNU/Linux >> Linux の 問題 >  >> Linux

ディレクトリ内のすべてのファイルを解凍します

*.zip を解凍するか、サブフォルダーにある場合は

のようにします
find . -name "*.zip" -exec unzip {} \;

ワイルドカードをエスケープするには、いくつかの引用符を入力してください:

unzip "*.zip"

このリンクによると、これは bash で機能します:

<ブロック引用>

\*.zip を解凍


以下のシェル スクリプトは、現在のディレクトリ内のすべての zip ファイルを、zip ファイルのファイル名を持つ新しいディレクトリに抽出します。つまり:

以下のファイル:

myfile1.zip
myfile2.zip 

抽出先:

./myfile1/files...
./myfile2/files...

シェル スクリプト:

#!/bin/sh
for zip in *.zip
do
  dirname=`echo $zip | sed 's/\.zip$//'`
  if mkdir "$dirname"
  then
    if cd "$dirname"
    then
      unzip ../"$zip"
      cd ..
      # rm -f $zip # Uncomment to delete the original zip file
    else
      echo "Could not unpack $zip - cd failed"
    fi
  else
    echo "Could not unpack $zip - mkdir failed"
  fi
done

ソース要旨

使い方:

cd /dir/with/zips
wget -O - https://www.toptal.com/developers/hastebin/suvefuxuxo.bash | bash

Linux
  1. LinuxでZIPファイルを操作する

  2. Linuxでファイルを圧縮および解凍する方法を学び、Zipマスターになる

  3. ディレクトリ内のすべてのファイルで単語のすべての出現を変更する方法

  1. ディレクトリおよびサブディレクトリ内のすべてのゼロバイト ファイルを検索する

  2. すべてのファイルを現在のディレクトリから上位ディレクトリに移動する方法は?

  3. 現在のディレクトリ内のすべてのファイルを chown/chmod する方法は?

  1. ディレクトリ内のすべての新しいファイルをグループからアクセスできるようにしますか?

  2. 複数のディレクトリを個々のZipファイルに圧縮するコマンド?

  3. Web サイトのディレクトリ内のすべてのファイルを表示しますか?