【shell 脚本】查看*.gz 文件的内容

#!/bin/bash
# zmore
#使用'more'来查看gzip文件
 NOARGS=65
 NOTFOUND=66
 NOTGZIP=67
 if [ $# -eq 0 ] # 与if [ -z "$1" ]效果相同
 #  $1是可以存在的, 可以为空, 如:  zmore "" arg2 arg3
 then
   echo "Usage: `basename $0` filename" >&2
   # 错误消息输出到stderr.
   exit $NOARGS
   # 返回65作为脚本的退出状态的值(错误码).
 fi  
  
 filename=$1
  
 if [ ! -f "$filename" ]   # 将$filename引用起来, 这样允许其中包含空白字符.
 then
   echo "File $filename not found!" >&2
   # 错误消息输出到stderr.
   exit $NOTFOUND
 fi  
  
 if [ ${filename##*.} != "gz" ]
 # 在变量替换中使用中括号结构.
 then
   echo "File $1 is not a gzipped file!"
   exit $NOTGZIP
 fi  
 zcat $1 | more
 # 使用过滤命令'more.'
 # 当然, 如果你愿意, 也可以使用'less'.
  
  
 exit $?   # 脚本将把管道的退出状态作为返回值.
# 事实上, 也不一定非要加上"exit $?", 因为在任何情况下,
# 脚本都会将最后一条命令的退出状态作为返回值.
=====测试
root@client.example.com ~/yang # ./zmore.sh grep.data.gz
48      Dec     3BC1977 LPSX    68.00   LVX2A   138
483     Sept    5AP1996 USP     65.00   LVX2C   189
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
219     dec     2CC1999 CAD     23.00   PLV2C   68
484     nov     7PL1996 CAD     49.00   PLV2C   234
483     may     5PA1998 USP     37.00   KVM9D   644
216     sept    3ZL1998 USP     86.00   KVM9E   234

时间: 2024-10-27 06:14:36

【shell 脚本】查看*.gz 文件的内容的相关文章

让你提前认识软件开发(22):shell脚本中的文件操作

第1部分 重新认识C语言 shell脚本中的文件操作   [文章摘要]         编写shell脚本时,经常会涉及到对文件的操作,比如从文件中读取一行数据.向文件追加一行数据等.完成文件读写操作的方法有很多,了解各种命令下文件操作的执行情况,有助于开发人员在不同使用场景下选择合适的命令.        本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了参考. [关键词]        shell  文件操作  读写  效率   一.概述         在

Linux有问必答:Linux上如何查看种子文件的内容

问题: 我从网站上下载了一个torrent(种子)文件.Linux上有没有工具让我查看torrent文件的内容?例如,我想知道torrent里面都包含什么文件. torrent文件(也就是扩展名为.torrent的文件)是BitTorrent元数据文件,里面存储了BitTorrent客户端用来从BitTorrent点对点网络下载共享文件的信息(如,追踪器URL.文件列表.大小.校验和.创建日期等).在单个torrent文件里面,可以列出一个或多个文件用于共享. torrent文件内容由BEnco

Shell脚本实现复制文件到多台服务器的代码分享_linux shell

在多机集群环境中,经常面临修改配置文件后拷贝到多台服务器的情况,传统的执行scp比较麻烦,所以写了以下shell脚本,可以将指定文件拷贝到多台机器. 使用方法请参见HELP部分代码. #!/bin/bash help() { cat << HELP --------------HELP------------------------ This shell script can copy file to many computers. Useage: copytoall filename(ful

Linux Shell脚本查看NUMA信息

  这篇文章主要介绍了Linux Shell脚本查看NUMA信息,本文直接给出脚本实现代码,需要的朋友可以参考下 Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

shell 脚本取FTP文件问题

问题描述 shell 脚本取FTP文件问题 FTP下有许多一级文件夹,但是每个一级文件夹下都有相同的文件夹结构,要怎么做到 自动取得每个一级文件夹下对应路径的文件? 如:路径/aa/100/a.txt /bb/100/a.txt /cc/100/a.txt等一百多个只是aa这样一级文件夹不同的路径下的文件? 解决方案 shell ftp脚本 解决方案二: http://stackoverflow.com/questions/1767384/ls-command-how-can-i-get-a-r

使用shell脚本查看数据库负载情况(第二篇)

在之前写了一个shell脚本,能够得到一个基于时间点的数据库负载报告. 使用shell脚本查看数据库负载情况 http://blog.itpub.net/23718752/viewspace-1168027/ 在生产环境中快照的生成频率可能10分钟或者半个小时就会生成,频率要快些,使用原先的脚本执行起来会有一定的延时. 想查看在快照的时间间隔内数据库的负载情况.这样能够更高效的定位某个问题.比如10点到11点,每10分钟生成一次快照.可能问题发生在10:40~10:50,如果通过一个小时的快照就

通过shell脚本查看数据库表空间使用情况

对于数据库中表空间查看,想必大家都有很多的脚本已经在用了,自己也啰嗦一下,分享一个通过shell脚本查看表空间使用情况的例子. 脚本如下: sqlplus -s $DB_CONN_STR@$SH_DB_SID   set echo off heading on underline on; column inst_num  heading "Inst Num"  new_value inst_num  format 99999; column inst_name heading &quo

LFCS 系列第十讲:学习简单的 Shell 脚本编程和文件系统故障排除

理解终端Terminals和 Shell 首先要声明一些概念. Shell 是一个程序,它将命令传递给操作系统来执行. Terminal 也是一个程序,允许最终用户使用它与 Shell 来交互.比如,下边的图片是 GNOME Terminal. Gnome Terminal 启动 Shell 之后,会呈现一个命令提示符 (也称为命令行) 提示我们 Shell 已经做好了准备,接受标准输入设备输入的命令,这个标准输入设备通常是键盘. 你可以参考该系列文章的 第一讲 如何在 Linux 上使用 GN

提前认识软件开发(22) shell脚本中的文件操作

编写shell脚本时,经常会涉及到对文件的操作,比如从文件中读取一行数据.向文件追加一行数据等.完成文件读写操作的方法有很多,了解各种命令下文件操作的执行情况,有助于开发人员在不同使用场景下选择合适的命令. 本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了参考. 一.概述 在某些软件项目的需求文档中,要求程序一次性读或写的数据规模较大,可达1000万行级,这就涉及到对程序执行方法和效率等的考虑. 本文比较了不同shell命令在对文件进行读或写操作过程中执行效率