《Advanced Bash-scripting Guide》学习(十七):用more来查看gzip文件

本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅

1 #!/bin/bash 2 #使用more查看gzip文件 3 4 NOARGS=65 5 NOTFOUND=66 6 NOTGZIP=67 7 8 if [ $# -eq 0 ] #[ $# -eq 0 ]与[ -z "$1" ]有同样的效果 9 then 10 echo "Usage: `basename $0` filename" >&2 #将错误输出到屏幕,&[n]表示已存在的文件描述符,&2表示标准错误输出,如换成&>2,屏幕不显示错误输出,why? 11 exit $NOARGS 12 fi 13 14 filename=$1 15 16 if [ ! -f "$filename" ] 17 then 18 echo "File $filename not found!" >&2 #和上面一样,只是感觉没必要再stderr重定向到标准屏幕,因为默认就是标准错误输出到屏幕的,所以可以去掉 19 exit $NOTFOUND 20 fi 21 22 if [ ${filename##*.} != "gz" ] #变量替换,拿走.之前的所有的字符串,参照《ABS》中文版第23页echo ${PATH#*:}拿掉第一个:左边所有字串 23 then ###是判断最后面的. #只是判断第一个 ##最远匹配 #最近匹配 24 echo "File $1 is not a gzipped file!" 25 exit $NOTGZIP 26 fi 27 28 zcat $1 | more #zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合 29 30 exit $?

脚本运行结果

 


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/7148197.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(326)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示