TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

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裡,就可以隨時取用了。

沒有留言:

張貼留言