shell脚本单独打包子文件夹

用于备份,比如D盘project目录下有很多个独立的项目,如果直接上传到网盘,文件数量可能会超过限制,上传速度也慢,其实也没有必要,在网盘上浏览单个文件也没有意义。

百度网盘限制一次上传5000个文件

百度网盘限制一次上传5000个文件

但是,如果将整个project目录压缩,压缩包会比较大,想看单个项目时又需要将整个project压缩包下载下来,速度会比较慢。百度网盘的在线解压功能也有些鸡肋,貌似只能解压单个文件。所以最好的办法是将每个项目单独打包。shell脚本代码如下:

其中-p选项是在文件夹末尾增加“/”,配合grep / 目的是筛选出文件夹。 tr -d是删除文件夹末尾的 “/”。

如果文件夹下面有单个文件也想打包,修改代码:

就可以了。

使用的时候要注意目录参数结尾不要加斜杠 / ,否则连续出现两个斜杠压缩时会有空白名文件夹:

避免出现空白名文件夹也可以将$1/$dir之间的斜杠去掉,然后文件夹参数使用末尾带斜杠的方式。

用find配合exec也可以实现子文件夹单独打包:



本文遵从CC版权协定,转载请以链接形式注明出处。
本文链接地址: http://www.annhe.net/article-2490.html

2 thoughts on “shell脚本单独打包子文件夹

  1. “;” 是exec的必须参数,告诉exec命令结束了,但是“;” 同时又是shell命令结束的关键字,所以要转义,也可以引用,”;” 或者 ‘;’

发表评论

电子邮件地址不会被公开。 必填项已用*标注