bash脚本压缩目录中的多个子文件夹



我需要找到具有模式的子文件夹,并分别对每个子文件夹进行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 "$1.tar.gz" --verbose "$1" && rm -rf "$1"' - {} ;

另一个选项(也许它更可读)是使用xargs:

find . -iname 'NE*' -type d | xargs -I subdir -- tar -cvzf subdir.tar.gz subdir

最新更新