因内网环境中需要大批量解压缩.tar.gz文件 所以想了一些方法去实现。

tar原生不支持批量解压,故可以采用循环读取文件名的方法实现解压。

代码实现:

#获取类型(Http等),目录地址,临时方案

type=$1

dir=$2

#获取时间,包括月、日、小时账期

#测试使用-调度内采用Oracle导入时间参数

v_month=`date -d "-1 month" '+%Y%m'` #当月

echo $v_month

v_day=`date '+%Y%m%d'` #当日

echo $v_day

#v_hour=`date -d "-1 hour" '+%Y%m%d%H'` #前一个小时

echo $v_hour

#创建临时文件夹

temp='temp_'${type}'_'${v_hour}

echo ${temp}

mkdir ${dir}/${temp}

#解压数据 匹配对应类型type和时间戳

for i in `ls ${dir}/*${v_hour}*${type}*`

do

tar -xzvf $i -C ${dir}/${temp} #执行压缩

done

当然也可以使用管道 | 实现,语法更为简洁

代码实现:

#获取类型(Http等),目录地址,临时方案

type=$1

dir=$2

#获取时间,包括月、日、小时账期

#测试使用-调度内采用Oracle导入时间参数

v_month=`date -d "-1 month" '+%Y%m'` #当月

echo $v_month

v_day=`date '+%Y%m%d'` #当日

echo $v_day

#v_hour=`date -d "-1 hour" '+%Y%m%d%H'` #前一个小时

echo $v_hour

#创建临时文件夹

temp='temp_'${type}'_'${v_hour}

echo ${temp}

mkdir ${dir}/${temp}

#解压数据 匹配对应类型type和时间戳

ls ${dir}/*${v_hour}*${type}* | xargs -n1 -i tar xzvf {} -C ${dir}/${temp}

linux脚本批量解压,Shell中使用tar命令批量解压缩的实现方法相关推荐

  1. 解压命令linux tgz,tar 解压_linux中的“tar命令”怎么解压“.tgz”与“.tar.gz”文件?...

    在LINUX下如何将tar压缩文件解压到指定的目录下 一.解压.tar.gz格式到指定的目录下: 命令格式为:tar -zxvf [压缩包文件名.tar.gz] -C  [路径]/ 例如:tar -z ...

  2. Linux 解压,压缩文件--tar 命令

    其实在Linux中,有许多种解压,压缩文件的命令,本博客介绍 tar 命令 如果Linux 系统不能运行tar 命令的朋友,先安装一下: 1)安装 1.apt-get 方式安装: sudo apt-g ...

  3. linux上怎么解压zip文件和tar.gz文件

    解压zip文件的方法 使用命令: unzip xxx.zip 解压tar.gz文件的方法 使用命令: tar -zxvf xxx.tar.gz

  4. linux脚本判断变量存在,shell中关于变量是否存在的问题

    [TOC] ## fish shell判断某个变量是否存在 fish shell 判断变量是否存在直接使用 `test 变量`就可以,然后我们使用`and`和`or`实现if..else..的逻辑.如 ...

  5. linux脚本ls输出到变量中,bash – 将命令输出的错误消息存储到shell变量中

    只需将stdout(正常输出)重定向到/ dev / null并保留stderror: a=$(cp log.txt 2>&1 >/dev/null) 看一个例子: $a=$(cp ...

  6. Linux命令:tar命令批量解压方法总结

    tar命令批量解压方法总结 (2010-05-24 17:48:46) 转载▼ 标签: tar 批量解压 杂谈 分类: linux学习 由于linux的tar命令不支持批量解压,所以很多网友编写了好多 ...

  7. linux解压批量tar文件内容,Linux命令:tar命令批量解压方法总结

    do tar xvf $tar; done for tar in *.tar.bz2; do tar xvf $tar; done 第二:用tar命令批量解压某个文件夹下所有的tar.gz文件 ls ...

  8. linux系统下批量解压方法汇总

    目前在获取大量的tar压缩包中的图片的方法是,选中所有要解压的文件,然后右击鼠标选择提取文件,按照一般的方法友好地解压,不知道这样效率会不会低很多,要是在代码中直接加入自动获取的语句,那么即将节省很多 ...

  9. linux 批量解压gz文件夹,linux 批量解压gz bz2文件

    一.批量解压bz2文件 find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {} 这条命令可解压当前目录下的所有bz2文件 批量解压是 ...

  10. linux同时解压多个bz2,linux 批量解压gz bz2文件

    一.批量解压bz2文件 find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {} 这条命令可解压当前目录下的所有bz2文件 批量解压是 ...

最新文章

  1. java 挂钩子_挂钩组件
  2. Expression Blend实例中文教程(9) - 行为快速入门Behaviors
  3. 用python实现复选框树_如何使用Python中的复选框创建树视图
  4. 谈及未来的 AI, 也许你已身处其中 —— 记 InfoQ 对青云QingCloud 联合创始人林源的采访...
  5. pytorch 查看当前学习率_pytorch实现查看当前学习率
  6. iOS js oc相互调用(JavaScriptCore)
  7. 【渝粤教育】 国家开放大学2020年春季 1069中央银行理论与实务 参考试题
  8. accp8.0转换教材第1章多线程理解与练习
  9. 【Android开发坑系列】之PopupWindow
  10. Oracle DataGuard数据备份方案详解
  11. macOS安装mysql后,进入mysql出现command not found
  12. Bailian3470 整理扑克牌【贪心+二分】
  13. it试用评估_it试用期员工自我评价
  14. 【科研绘图】用PPT进行科研用图的图片预处理
  15. swift4.0 涂鸦画板
  16. 如何免费搭建FTP服务器---金万维
  17. 路由配置与管理——BGP路由配置与管理1
  18. C#窗体Click事件没反应
  19. [深度学习基础]正则化
  20. 欧几里德距离的相似度 —— Euclidean Distance-based Similarity

热门文章

  1. 应用优化-HTTP缓存
  2. 服务器存储技术千人群为:39472354
  3. C# PDFLibNet PDF转JPG
  4. log4j和web.xml配置webAppRootKey 的问题(一个tomcat下部署多个应用)
  5. Linux.CommanlineTool.grep
  6. Jquery和JS获取ul中li标签
  7. shell添加用户时设置密码脚本
  8. mysql数据库中实现内连接、左连接、右连接
  9. 接口 与 抽象类 区别
  10. 11. 判断是给属性前加typeof 可以同时判断属性是否存在