顯示具有 unrar 標籤的文章。 顯示所有文章
顯示具有 unrar 標籤的文章。 顯示所有文章

2008年9月15日 星期一

useful shell scripts (smart extract)


M$ 的 DOS command 和 *nixshell 相比,真是小巫見大巫,其語言特性已經接近一個正式的程式言,而且可以輕易的調用其他 *nix 工具,配合 pipe 可謂神乎奇技,這是其中一個:自動判斷檔案內容決定解壓縮是否要放在一資料夾內 ##ReadMore##

#!/bin/sh usage(){ echo "$0 *.(zip|7z|rar|001)" } if [ -z "$1" ] ; then usage else case "$1" in *.[Rr][Aa][Rr] ) cnt=`unrar vb "$1" | sed 'sx/.*xxg' | sort | uniq | wc -l ` if [ $cnt -le 1 ] ; then unrar x "$1" else dir=`echo "$1" | sed 'sx\.001$xxg' | sed 'sx\(.*\)\..*x\1xg'` mkdir "$dir" unrar x "$1" "$dir/" fi ;; *.7[Zz] | *.[Zz][Ii][Pp] | *.7[Zz].001 ) cnt=`7z l -slt "$1" | grep '^Path = ' | sed 'sx^Path = xxg' | sort | uniq | wc -l` if [ $cnt -le 1 ] ; then 7z x "$1" else dir=`echo "$1" | sed 'sx\.001$xxg' | sed 'sx\(.*\)\..*x\1xg'` 7z x "-o$dir" "$1" fi ;; *) usage esac fi

複製、存檔、加執行屬性、丟至 /usr/loca/bin or /usr/bin/ 就可以懶人解壓了:

[user]$ extract file.rar [user]$ extract file.7z [user]$ extract file.zip [user]$ extract file.part1.rar
方便又好記。(>ω<)♪♪
而這次就不需要使用 kde UI 介面,完全文字指令,並且不會有效率問題,只是有時可能要對加密檔打兩次密碼。

  • 其實這個 wireless script tool 也是這樣寫出來的,有興趣可以把它拆解開來研究

2008年8月12日 星期二

Smart Extract here


其實這是個老東西...
從我原本的的 Konqueror: Extract Here 所分離出來的兩個 bash script, 如此更可以在不同的平台上自由使用: url,其中的 unrar-gui.sh, p7zip-gui.sh, 下載後可以自行改名 ##ReadMore##

主要特色

  • 自動偵測壓縮檔是否有加密,有會詢問
  • 如果壓縮檔最上層有超過一個檔案,會放到[壓縮檔名]的資料夾下,如:
    haha.zip 內函 a.file, b.file, dir1, dir1/file11, 就會全部解到 haha/ 資料夾下

安裝
放到 /usr/local/bin 或 /usr/bin 即可

使用方法([fn] 指 script file name):

[user]$
[user]$
[fn] x [archive] # 自動做上述動作
[fn] d [archive] # 跳出選擇資料夾對話框

  • 正常使用需要有 kde 環境(kde3/4) 及 p7zip / unrar
  • 可以在檔案管理程式設定關聯,執行程式名稱設「[fn] x」即可
  • 偵測密碼方式是以後端程式第一次無密碼解壓結果判斷,所以時間變兩倍,解費時的大檔時建議還是用指令

2008年6月4日 星期三

Konqueror: Extract Here


用過 gnome 的話相信在解壓縮 rar/zip/7zip 方面會有不錯印象:

右鍵→解壓縮至此→懶人解壓縮
而且似乎是智慧型的:
  • 如果壓縮檔的樹狀結構在第一層有不止一個檔案,就自動創一個資料夾裝這些,放在你解壓的地方,否則直接解壓同壓縮檔目錄
  • 如果有密碼會自動提示要求,雖然它碰上壞檔也會以為你打錯密碼而一直問
而且 file-roller 也比 Ark 來得實用;Ark 的話……拜托能處理 utf8 的內容檔名和加密檔吧 orz。
當然,若是要使用 terminal 的話自然就簡單 easy,不過有時還是會覺得累,所以自己試著做了這樣的東西了: kservice-unrarkservice-p7zip

Arch 的使用者的話,請直接解之、建之、安裝之
其他的 distro 請將解開的 unrar-gui.sh / p7zip-gui.sh 放到 /usr/bin 或你的其他 $PATH 目錄;unrar.desktop / p7zip.desktop 放到 ~/.kde/share/apps/konqueror/servicemenus 下

其功能主要就是完成 nautilus 下的右鍵解壓縮至此而已,還有另外附上「解壓縮到目錄…」這個選項;不過目前只能在 file:/// 下正常使用,media:/ system:/ home:/ documents:/ 通通不行,可能等到哪天我習得 kio 的相關技能後才能順利使用了吧 =3=

  • 但話說這樣也讓我搞了好幾天,尤其是要判別內容決定要不要生資料夾這點 orz
  • 有任何問題歡迎回報,還有請誰幫我 po 上 AUR 吧