bash 将多个子文件夹压缩到一个目录中的脚本
bash script to zip multiple subfolders in a directory
我需要找到具有模式的相应子文件夹,并分别对每个子文件夹进行 gzip 压缩。我完成了第一段,但不确定如何压缩它们
$ find . \( -iname 'NE*' -type d \)
./NE1
./NE2
./NE3
我试过了,但我觉得我做对了?
find . \( -iname 'NE*' -type d \) -exec tar -czvf NE*.tar.gz --verbose {} \;
试试这个:
find . \( -iname 'NE*' -type d \) -exec bash -c 'tar -czvf ".tar.gz" --verbose "" && rm -rf ""' - {} \;
另一个选项(可能更易读)是使用 xargs
:
find . -iname 'NE*' -type d | xargs -I subdir -- tar -cvzf subdir.tar.gz subdir
我需要找到具有模式的相应子文件夹,并分别对每个子文件夹进行 gzip 压缩。我完成了第一段,但不确定如何压缩它们
$ find . \( -iname 'NE*' -type d \)
./NE1
./NE2
./NE3
我试过了,但我觉得我做对了?
find . \( -iname 'NE*' -type d \) -exec tar -czvf NE*.tar.gz --verbose {} \;
试试这个:
find . \( -iname 'NE*' -type d \) -exec bash -c 'tar -czvf ".tar.gz" --verbose "" && rm -rf ""' - {} \;
另一个选项(可能更易读)是使用 xargs
:
find . -iname 'NE*' -type d | xargs -I subdir -- tar -cvzf subdir.tar.gz subdir