2008年1月28日 星期一

直接觀看封裝/壓縮過的檔案

Unix-like的紀錄檔通常在經過一定時間後就會壓縮為gz檔,為此可以使用如下的指令直接閱讀,不需要真正解開成一個檔案:
gzip -cd file.gz | less
如果壓縮過之前還被封裝過,就要換個程式:
tar -ztf file.tar.gz | less
於是,再一次地我們要發揮程式設計員的美德之一:懶惰。
每次都要打那些指令太煩了,所以我寫了一個bash shell,名叫xless[?],自己根據檔案類型展開。
#! /bin/bash

if [ $# -eq 1 ] ; then                          # 只接受一個參數
        if [[ $1 =~ '\.tar\.gz$' ]] ; then      # 以regex過濾*.tar.gz
                exec tar -ztf $1 | less
        elif [[ $1 =~ '\.gz$' ]] ; then         # 再過濾*.gz
                exec gzip -cd $1 | less
        else
                echo 'Invalid filename.'
        fi
else
        echo 'Must takes one argument.'
fi
然後再把這個檔案改成可執行檔,export到PATH裡,就可以隨時取用了。

沒有留言:

張貼留言