[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
[bash] 打包某目录(可以是绝对路径)下的指定扩展名的文件相关推荐
- python文件操作2:在指定目录下查找指定后缀名的文件
在指定目录下查找指定后缀名的文件,要查找所有子目录,返回文件路径名列表 import osdef get_full_filelist(base_dir='.', target_ext='') -> ...
- C++查找一个目录下所有特定扩展名的文件
记录一个小技巧,查找一个目录下所有特定扩展名的的文件名.代码所示是查找所有后缀为".txt"的文件名,并将结果存储于名为statfileurllist的vector中 注:也可以查 ...
- python获取指定扩展名的文件_python查找目录下指定扩展名的文件实例
Python 今天小编就为大家分享一篇pytorch nn.Conv2d()中的padding以及输出大小方式,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 ... qq_30468 ...
- 批量将磁盘上所有文件的路径地址、文件名、扩展名和文件夹名整理到 Excel 表格中
概要:对于经常整理文件的小伙伴来讲,需要批量的使用到所有文件的文件的路径地址.文件名还有扩展名,如果有一种方法能够批量的将所有的文件的路径地址.文件的扩展名,还有所在的文件夹的名称能够自动的整理到Ex ...
- C#路径中获取文件全路径、目录、扩展名、文件名称
常用函数 需要引用System.IO 直接可以调用Path的静态方法 1 class Program2 {3 static void Main(string[] args)4 {5 6 //获取当 ...
- Bash脚本删除相对路径下小于指定大小的文件
#!/bin/bashout_path=../自定义的相对路径 find $out_path -size -1k -exec rm {} \; # 删除这个相对路径下小于1k的文件
- 在MATLAB中读取同一路径下多个txt或mat文件
1.matlab中给我们提供了dir这个函数,十分方便.这里是读取所有txt文件,所以是dir('父目录路径\*.txt'),读取其它格式文件一样,如读取该路径下的所有png图像文件,则为dir('父 ...
- Go语言获取文件的文件路径、文件名、扩展名
文章目录 一.引入包 二.获取路径中的目录及文件名 三.获取路径中的文件名 四.获取路径中的文件扩展名 一.引入包 import ("fmt""path/filepath ...
- Asp.Net 获取FileUpload控件的文件路径、文件名、扩展名
FileUpload获取文件路径.文件名等方法教程 //获取文件所在地分区 string PathRoot = Path.GetPathRoot(FileUploadImg.PostedFile.Fi ...
最新文章
- 11.Map集合之实现类HashMapHashtableTreeMapLinkedHashMapProperties浅析
- mysql存储过程中as_Mysql存储过程中的delimiter
- HTML和css重要的知识点,html 和 css 基础知识点(一)(示例代码)
- 消息中间件--RabbitMQ --死信队列
- 通过CVS同步Spring源码
- Visual Studio Code compile error - launch.json must be configured...
- CTP: 初始化成功和TradeAPI、MDAPI登陆成功
- linux 端口映射设置
- 高等代数第3版下 [丘维声 著] 2015年版_书籍推荐 | 关于数学分析和高等代数
- c语言一个字符串怎么做除法,c语言实数除法怎样保留小数部分
- 在pycharm中查看opencv版本
- 【Java】soap协议发送webservice请求工具类
- 【ES系列五】——集群搭建(多机集群单机多节点集群)
- 调用excel加载项实现多元回归方程求解
- 阿里面试官:你知道Dubbo的服务暴露机制么?
- 综合实验:LVS+LAMP+NFS+MySQL读写分离
- Proximity sensor---Px318J
- 亚马逊EC2使用账号密码登录
- ChatGPT 大规模封号,并停止注册!
- 如何实现ps的批量处理图片