对于zip文件的同名目录处理

Tags:

将当前目录下所有的zip文件解压到对应的同名目录

find . -name '*.zip' -exec sh -c 'unzip -d "${1%.*}" "$1"' _ {} \;

另外一种是用一个函数

unzip2d() {
  if [[ $# != 1 ]]; then echo I need a single argument, the name of the archive to 
  extract; return 1; fi
  target="${1%.zip}" # /a/b/foo.zip => /a/b/foo
  unzip "$1" -d "${target##*/}" # /a/b/foo => foo
}

如果只是创建同名目录,将文件挪进去

# 可以放到 .zshrc 当中
function zip2folder() {
  find . -name '*.zip' -exec sh -c 'mkdir -p "${1%.*}"; mv "$1" "${1%.*}"' _ {} \;
}

Leave a Reply