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