3

「images」フォルダがあり、その中に 0001.zip から 9999.zip があるとします。それらをすべて解凍し、ファイル名を持つサブフォルダに保存します。たとえば、0001.zip が解凍され、 /0001に保存すると、0002.zipが解凍されて/0002に保存されるので、やってみました

unzip '*.zip'

ただし、現在のフォルダー内のすべてのファイルが抽出されます。

4

2 に答える 2

7

次のようなことができます。

 for file in *.zip; do
       dir=$(basename "$file" .zip) # remove the .zip from the filename
       mkdir "$dir"
       cd "$dir" && unzip ../"$file" && rm ../"$file" # unzip and remove file if successful
       cd ..
  done

または、1 行でまとめて実行します。

  for file in *.zip; do dir=$(basename "$file" .zip); mkdir "$dir"; cd "$dir"; unzip ../"$file" && rm ../"$file"; cd ..; done

元の .zip ファイルを保持する必要がある場合は、&& rm ../"$file"ビットを削除してください。

于 2012-08-03T23:18:55.580 に答える
4
for zip in *.zip
do
    unzip "$zip" -d "${zip%.zip}"
done
于 2012-08-03T23:54:51.033 に答える