当前位置: 代码网 > it编程>游戏开发>ar > CentOS查看压缩包文件列表实现方式

CentOS查看压缩包文件列表实现方式

2026年03月28日 ar 我要评论
把日常工作经常查看压缩包文件列表的场景,整理为shell脚本,并列表不同的实现方法。脚本支持多种常见压缩格式(如.jar/.zip/.rar/.tar等),通过判断文件后缀名调用对应的解压工具命令查看

把日常工作经常查看压缩包文件列表的场景,整理为shell脚本,并列表不同的实现方法。

脚本支持多种常见压缩格式(如.jar/.zip/.rar/.tar等),通过判断文件后缀名调用对应的解压工具命令查看内容列表。

运行环境:

1、查看压缩包文件列表演示

查看 .jar 压缩包文件列表

查看 .zip 压缩包文件列表

2、查看压缩包文件列表shell脚本

#!/bin/bash
echo "###################################################"
echo "# subject: 查看压缩包文件列表"
echo "#    date: 2021.03.15"
echo "#  author: 狂龙骄子"
echo "# blogurl: https://blog.csdn.net/sn_keys"
echo "#  remark: 使用到的解压缩工具,必须提前安装。参考 http://tldp.org/howto/bzip2-5.html"
echo "#          调用方法:/opt/viewzipdetail.sh '/路径/文件名'"
echo "# history: "
echo "# 2021.03.15: new"
echo "###################################################"

# 设置环境变量:解决中文乱码
export lesscharset=utf-8

# 获取传入的文件
file_name="$1"
# 判断是否为文件
if [ ! -f "${file_name}" ]; then
    echo "error: file does not exist."
    exit 1
fi
# 判断文件后缀名并使用对应方式打开
case "${file_name}" in
    *.jar|*.war|*.ear)
        jar -tvf "${file_name}" ;;
    *.rar)
        #rar -v "${file_name}" ;;
        unrar -l "${file_name}" ;;
    *.tar)
        tar -tvf "${file_name}" ;;
    *.tgz)
        tar -tzvf "${file_name}" ;;
    *.tar.bz2)
        # this one work for the unmodified version of tar
        bzip2 -cd "${file_name}" | tar tvvf - ;;
    #*.tar.bz2)
    #    #this one works with the patched version of tar
    #    tyvvf "${file_name}" ;;
    #*.tar.bz2)
    #    tar -tjvf "${file_name}" ;;
    *.tar.gz)
        tar -tzvf "${file_name}" ;;
    *.tar.z|*.tar.z)
        tar tzvvf "${file_name}" ;;
    *.bz2)
        bzip2 -cd "${file_name}" ;;
    *.z|*.z)
        gzip -dc "${file_name}" ;;
    *.gz)
        gzip -dc "${file_name}" ;;
    *.zip)
        #zip -sf "${file_name}" ;;
        unzip -l "${file_name}" ;;
    *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man)
        file=`file -l $1`
        file=`echo $file | cut -d ' ' -f 2`
        if [ "$file" == "troff" ]; then
            groff -s -p -t -e -tascii -mandoc "${file_name}"
        fi ;;
    *)
        cat "${file_name}" ;;
esac

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com