我有超过500个子目录来自一个根目录,每个目录包含> 6000个文件。目录名为20150218
,20150217
等,一年中的每一天都有一个。
我想开发一个脚本来压缩目录中的所有文件,即20150217
并命名目录20150217.zip
。然后我想删除原始文件。
因此,~/public_html/ispy/dlink/
中的所有sud目录都将单独压缩。
我感谢任何指导。
答案 0 :(得分:0)
将以下脚本复制并粘贴到任何unix编辑器(vim,geany,mousepad)中,并将其保存在“date”子文件夹的目录中。根据需要命名,没有扩展名,例如zipscript。从终端:使用您的脚本转到目录,允许执行它:chmod +x zipscript
并触发它:sudo ./zipscript
。
#!/bin/bash
for D in *
do
if [ -d "${D}" ]; then
zip -r -j "${D}".zip "${D}"
rm -R "${D}"
fi
done
脚本运行如下:对于当前目录中的每个文件(目录也是unix下的文件),检查它是否是目录,如果为true,则使用相同的名称创建zip,然后删除包含其中所有文件的子目录。