*.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