作用:判断文件类型,根据判断结果使用不同的命令完成解压操作。

经典:${1##*.} 表示对第一个参数按##后面的模式从左边匹配,返回剩余的未匹配部分,且是最大匹配

${1%.*}表示对第一个参数按%后面的模式从右边匹配,返回剩余的未匹配部分,且是最小匹配

如:.1.2.3.4.5.6.7.8 按${1##.*} 匹配则匹配全部,剩余空字符串,按${1%.*}匹配则匹配.8,剩余.1.2.3.4.5.6.7

这两个用法是自己琢磨出来的,若有不对欢迎补充!

#!/bin/bash

UNPACK=1

if [ ${1##*.} = bz2 ] ; then

TEMP=${1%.*}

if [ ${TEMP##*.} = tar ] ; then

tar jxvf $1

UNPACK=$?

echo This is a tar.bz2 package

else

bunzip2 $1

UNPACK=$?

echo This is a bz2 package

fi

fi

if [ ${1##*.} = gz ] ; then

TEMP=${1%.*}

if [ ${TEMP##*.} = tar ] ; then

tar zxvf $1

UNPACK=$?

echo This is a tar.gz package

else

gunzip $1

UNPACK=$?

echo This is a gz package

fi

fi

if [ ${1##*.} = tar ] ; then

tar xvf $1

UNPACK=$?

echo This is a tar package

fi

if [ $UNPACK = 0 ] ; then

echo Success!

else

echo Maybe it is not a package or the package is damaged?

fi

linux判断压缩文件类型,【shell】判断压缩包类型并解压相关推荐

  1. java对压缩文件7z、rar、zip的解压

    需求,对Spring传递上来的文件进行解压,分析数据,这是解压模块 <!--apache提供的压缩包依赖--><dependency><groupId>org.ap ...

  2. linux压缩文件的类型,linux下压缩文件的类型(转)

    linux下压缩文件的类型(转) (2012-03-08 16:18:30) 标签: 杂谈 Linux下有相当多的压缩命令,初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊 ...

  3. linux bzip2压缩文件,bzip2命令_Linux bzip2命令:压缩和解压文件(.bz2文件)

    有时候你会发现并不是所有的 Linux 压缩包都是以 .tar.gz 为后缀的,有些压缩包的后缀是 .tar.bz2.这个 .tar.bz2 又是什么呢?它就是本文的主角:bzip2 压缩工具. 有了 ...

  4. 压缩文件目录 linux,linux_压缩文件及目录

    压缩解压缩命令: 压缩格式:gz,bz2,xz,zip,z 压缩算法:算法不同,压缩比也会不同: compress::FILENAME.Z uncompress 目前最流行的压缩工具: gzip: . ...

  5. linux 解压tar.jz,linux系统压缩文件和解压缩命令

    linux系统压缩文件和解压缩命令 tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip Fi ...

  6. linux解压该文件,linux上解压缩文件

    linux下解压缩文件 Linux下有很多压缩文件格式,在此将一些常用的解压缩命令摘录如下,以供参考. 1   .tar 解包:tar xvf FileName.tar 打包:tar cvf  Fil ...

  7. linux将一段时间内文件压缩,在 Linux 上压缩文件的 5 种方法

    在 Linux 上压缩文件的 5 种方法时间:2020-05-07 11:18    浏览次数: 发布者:润天教育    来源:金信润天 0 在 Linux 上有不少用于压缩文件的命令.最新最有效的一 ...

  8. Linux 打包压缩-文件打包-打包工具【tar】命令使用简介

    tar 将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件. 补充说明 tar命令 可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也 ...

  9. java压缩文件,并对压缩包添加解压密码

    java压缩文件,并对压缩包添加解压密码 java自带的java.util.zip包只能压缩文件,不能对压缩包添加解压密码,添加解压密码需要借助第三方工具,目前最好用的是zip4j工具包,其api操作 ...

  10. linux中如何压缩目录文件,如何在Linux中压缩文件和目录

    Zip是使用最广泛的存档文件格式,支持无损数据压缩. 压缩文件是一种数据容器,其中包含一个或多个压缩文件或目录.与未压缩的文件相比,压缩文件占用的磁盘空间更少,可以更快地从一台计算机传输到另一台计算机 ...

最新文章

  1. UA SIE545 优化理论基础0 优化建模6 罐头的尺寸设计
  2. [导入]C#实现Des加密和解密
  3. 回顾小程序2018年三足鼎立历程,2019年BAT火力全开
  4. 买二手房子经济实惠。
  5. Vue.js 源码分析(十七) 指令篇 v-if、v-else-if和v-else 指令详解
  6. [原创]互联网网站测试经验
  7. 成不了数据分析师,都是这些套路搞的鬼!
  8. shell 命令/程序 CheatSheet
  9. 审计工作存在的难点和问题_基层审计工作中存在的问题及建议
  10. 使用Nginx搭建图片服务器
  11. 坐标转换—高斯正反算(附测量助理最新版软件下载)
  12. 阿波罗java_携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试
  13. 前端调用第三方接口跨域问题(淘宝)
  14. 京瓷 (Kyocera)6025 6525 4028 4125等机器提示检查墨粉盒 ,摇晃粉盒,粉盒带动传感器的问题 报错处理维修方法
  15. 实验3 SQL的复杂多表查询以及视图
  16. Codeforces Beta Round #14 (Div. 2) E. Camels
  17. 关于解决idea 输入法不跟随问题
  18. “中国版权第一案”思路网总裁拒不认罪遭重判
  19. Android Studio代码检查lint使用
  20. 【Android Framework (六) 】- Launcher

热门文章

  1. 20211006 线性变换
  2. 关于vue.js的部分总结
  3. CentOS7安装配置redis5.0.5
  4. Hadoop+Hbase分布式集群架构“完全篇”
  5. 激活Win Server 2008 R2 Datacenter
  6. Java基础:详解HashMap在多线程下不安全
  7. SQLSERVER 2014 SP1 的服务器 日志文件无法收缩的处理
  8. AIM Tech Round 4 (Div. 2)ABCD
  9. 趣味SQL——创建指定的数据类型
  10. 计算机网络(10)-----TCP的拥塞控制