[bash] 打包某目录(可以是绝对路径)下的指定扩展名的文件

#!/bin/bash
# 该脚本用于打包某目录(可以是绝对路径)下的指定扩展名的文件
if [ $# -lt 1 ] || [ "$1" = "." ] || [ "$1" = "./" ]; then
DIR=`pwd`
else
DIR=$1
if [ ! -e $DIR ]; then
echo "Directory-[$DIR] not exist, exit now!"
exit
fi
fi
packageName=`basename $DIR`.tar.gz						# 压缩包文件名
if [ -e "$packageName" ]; then
mv -f $packageName "$packageName".bak				# 备份原有的压缩包
fi
packSrcs()												# 查找相关文件并打包
{
DIR=$1
packageName=$2
pattern=$3
IFS='|' read -a array <<< "$patten"					# 将pattern以"|"作分割, 将结果存入array
n=${#array[@]}
index=1
# 接下来组合查找字符并打包的字符串
findstr="find $DIR -name '*${array[0]}'"
while test $index -lt $n
do
findstr="$findstr -o -name '*${array[index]}'"
let "index = index + 1"
done
dosh="$findstr | xargs tar -P -zcvf $packageName"
#echo $dosh
eval $dosh											# 将字符串当命令执行
}
patten=".lua|.luac|.sh|.bat|.cpp|.c|.h|.hpp|.sln"		# 要打包的文件的扩展名
#patten=".lua|.sh|.bat"
packSrcs $DIR $packageName $pattern						# 调用打包函数


具体用法:

1. sh do.sh

2. sh do.sh .

3. sh do.sh ./

4. sh do.sh server

5. sh do.sh server/

6. sh do.sh /mnt/data/server

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app微信小程序生成自定义参数二维码,跳转小程序指定页面,获取参数;uni-app微信小程序获取二维码自定义参数;微信小程序生成动态参数二维码;uni-app微信小程序获取动态参数二维码;

一、场景需求&#xff1a; 在小程序个人名片页面A页面&#xff0c;生成用户的个人名片二维码&#xff08;该二维码携带用户的唯一标识id&#xff09;&#xff1b;微信扫一扫或长按图片识别这个二维码&#xff0c;可以跳转到小程序的B页面&#xff0c;并且在B页面拿到二维码上的…

【view桌面虚拟化系列】1-vSphere搭建

本系列一共三章&#xff0c;具体如下&#xff1a; 【view桌面虚拟化系列】1-vSphere搭建 【view桌面虚拟化系列】2-View搭建 【view桌面虚拟化系列】3-VDI实现 实验的目的:测试vsphere5.1a、view5.1测试整体运行状况。 首先介绍下环境&#xff08;所使用域名&#xff1a;vmc.co…

Linux 等待进程结束 wait() 和 waitpid()

若子进程先于父进程结束时&#xff0c;父进程调用wait()函数和不调用wait()函数会产生两种不同的结果&#xff1a; --> 如果父进程没有调用wait()和waitpid()函数&#xff0c;子进程就会进入僵死状态。 --> 如果父进程调用了wait()和waitpid()函数&#xff0c;就不会使子…

printf格式化输出类型

%d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 可以在”%”和字母之间加小写字母l, 表示输出的是长型数。 …

uni-app微信小程序保存页面到相册;canvas保存小程序页面;微信小程序保存二维码活动页面到相册;微信小程序canvas 生成海报保存到相册;canvas绘制小程序页面保存及分享;

文末代码可以直接复制运行&#xff08;只需要将中间的二维码图片、底部的微信和相册图片和微信头像配置白名单 改成你项目内的img图片即可成功运行&#xff09; 一、场景&#xff1a;在微信小程序 个人名片页面 含有微信头像和个人信息二维码&#xff08;识别可跳转小程序指定页…

面试经验谈架构

##################################################### #本文内容来自《老男孩linux运维实战培训》学生—郑东旭 #如有转载&#xff0c;请务必保留本文链接及本版权信息。 #欢迎广大运维同仁一起交流linux/unix网站运维技术! #QQ:919953500#E-mail:weilandeshanhuhai126.com …

lucene api

设置重新打开索引目录&#xff08;清空&#xff09; IndexWriterConfig conf new IndexWriterConfig(new WhitespaceAnalyzer());conf.setOpenMode(OpenMode.CREATE);转载于:https://www.cnblogs.com/ydxblog/p/5688415.html

Linux计算求取文件长度

在文件IO的编程过程中&#xff0c;经常会遇到如何求取文件长度的问题&#xff0c;这里将工积累的一些常用方法写出来与大家分享。 第一类&#xff1a;lseek/fseek 1、lseek int GetFileSize&#xff08;char *_pName) {int iFd -1;int iLen 0;if (_pName NULL){return -…

[linux-svn] linux下svn常用指令

From: http://www.cnblogs.com/aLittleBitCool/archive/2011/07/09/2101602.html windows下的TortoiseSVN是资源管理器的一个插件&#xff0c;以覆盖图标表示文件状态&#xff0c;几乎所以命令都有图形界面支持&#xff0c;比较好用&#xff0c;这里就不多说。主要说说linux下…

微信小程序uni.switchTab传参获取不到;小程序跳转到tabBar页并传参;uni-app微信小程序获取tabBar页面参数失败;uni-app微信小程序tabBar页面onLoad不执行

需求场景&#xff1a;从非tabBar页面B跳转到tabBar页面A&#xff0c;并想要携带参数。 如果使用uni.switchTab传参&#xff0c;会导致tabBAE页面获取不到参数&#xff1b; 原因&#xff1a; 官方文档有说&#xff0c;uni.switchTab路径后不能带参数&#xff1b; uni.navigateT…

UIView的旋转iOS开发

更多阅读请访问http://www.hopean.com 有关UIView坐标变换的&#xff0c;但是经常不能得到自己想要的效果&#xff0c;今天就把它仔细研究了下。记下来等以后忘记的时候再复习 重写shouldAutorateToInterfaceOrientation:&#xff0c;限制某个方向会改变原点的位置&#xff0c;…

jsp中字段截取

jsp页面上截取 <c:choose><c:when test"${fn:length(ad.remark) > 80}"><c:out value"${fn:substring(ad.remark, 0, 80)}..." /></c:when><c:otherwise><c:out value"${ad.remark}"/></c:otherwise&…

OPENWRT使用命令行设置无线和有线网络

在我们将路由器固件刷成开源的基于Linux内核的openwrt系统后&#xff0c;由于openwrt默认未安装WEB管理界面&#xff0c;所以我们需要先通过SSH或者telnet对路由器进行网络设置&#xff0c;设置完成后可通过openwrt的软件包管理opkg安装web设置界面Luci。 设置lan ip(即访问路…

Linux下安装nginx, php, php-fpm并配置

环境&#xff1a; Fedora20 目标: 在Fedora20上安装好nginx服务器&#xff0c;并可正确解析php文件 1. 安装&#xff1a; yum makecache yum install nginx php php-fpm 2. nginx的配置 按默认配置(网站根目录路径&#xff1a;/usr/share/nginx/html)&#xff0c;一般也是OK…

Spring中Bean的生命中期与InitializingBean和DisposableBean接口

Spring提供了一些标志接口&#xff0c;用来改变BeanFactory中的bean的行为。它们包括InitializingBean和DisposableBean。实现这些接口将会导致BeanFactory调用前一个接口的afterPropertiesSet()方法&#xff0c;调用后一个接口destroy()方法&#xff0c;从而使得bean可以在初始…

uni-app微信小程序uni.navigateTo跳转无效问题;记录一次uni-app页面跳转无效,来回跳转问题;wx.navigateTo ,跳转超过10次怎么点不动的解决办法。

场景需求&#xff1a;从小程序A页面跳转到小程序B页面&#xff0c;然后B页面还可以跳到A页面。 跳转失效原因&#xff1a; –1.uni.navigateTo只能跳转到非tabBar页面&#xff0c;tabBar导航栏页面只能用uni.switchTab方法跳转&#xff1b; –2.uni.navigateTo跳转的页面栈太多…

VIM选择文本块/复制/粘贴

在正常模式下&#xff08;按ESC进入&#xff09;按键v进入可视化模式&#xff0c;然后按键盘左右键或h,l键即可实现文本的选择。 其它相关命令&#xff1a;   v&#xff1a;按字符选择。经常使用的模式&#xff0c;所以亲自尝试一下它。 V&#xff1a;按行选择。这在你想拷…

微信小程序tabBar导航栏页和其他页执行onLoad与onShow时机;tabBar页获取不到参数问题;navigateTo跳转无效问题;onShow执行两次问题;

1.注意点&#xff1a; 只有五种情况会触发导航栏tabBar页的onLoad函数&#xff0c;分别是&#xff1a; –1.1&#xff1a;首次进入到导航栏tabBar页面&#xff1b; –1.2&#xff1a;从微信分享进入的导航栏tabBar页面&#xff1b; –1.3&#xff1a;识别二维码跳转到小程序的导…

20160512关于mac安装caffe的记录

记得2015年在mac系统上安装过一次caffe&#xff0c;非常顺利&#xff0c;但是最近群里许多同学反映mac安装caffe出现了各种问题&#xff0c;同时我也在帮助别人安装caffe的时候也遇到了一些坑&#xff0c;不再像以前这么顺利了。估计与操作系统&#xff0c;caffe升级有关。 今晚…

tar打包时排除一些文件或者目录

From: http://www.blogjava.net/zhyiwww/archive/2012/08/23/386119.html 用tar打包时排除文件&#xff1a;可以使用-exclude参数如&#xff1a; tar cvfz backup_1.tar.gz /opt/data --excluderesource*在打包/opt/data时就排除了resource命名的目录和文件。如果想不包含部…