ZT - 對話 UNIX: UNIX 高手的重大秘密(5)

saintsiro發表於2010-08-08
與副檔名無關的自動解壓 鑑於 Internet 上有如此眾多的程式碼,您可能每天都會下載數十個檔案。可能會出現這樣的情況:所有那些檔案都使用不同的方式打包 — 有的是 ZIP 檔案,有的是 RAR 檔案,還有很多是 tarball 檔案,儘管每個包都使用不同的實用程式壓縮。記住如何解壓縮和擴充套件每種包格式將會使人精疲力盡。那麼,為何不在單個命令中完成所有那些任務呢?下面這個函式在許多樣例點檔案中廣泛可用: ex () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) rar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file" fi } 這個函式 ex 擴充套件了 11 種檔案格式;如果要處理其他包型別,該函式還可以擴充套件。一旦定義 — 例如,在一個 shell 啟動檔案中 — 就可以簡單地鍵入 ex somefile,其中 somefile 以以下一種已命名擴充套件結束: $ ls source $ tar czf source.tgz source $ ls -1 source source.tgz $ rm -rf source $ ex source.tgz $ ls -1 source source.tgz 順便說一下,如果您將今天下載的檔案放錯了位置,可以執行 find 來查詢它: $ find ~ -type f -mtime 0 命令 -type f 查詢純文字檔案,-mtime 0 查詢自當天午夜以來建立的檔案。[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16896827/viewspace-1036456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章