AWK 習作:關於 Android 的 mmssms.db

要把 mmssms.db 裡所有是 vCard 的記錄的檔案都下載到本地端。

主要會用到的資料表格是 part,會應用到的欄位是 ct 跟 _data,所以 SQL select 可以這樣寫:select _data from part where ct=’text/x-vcard’ COLLATE NOCASE

這裡為了不判斷大小寫,加上了 COLLATE NOCASE

為了在 terminal 下直接下指令,所以就變成 sqlite3 mmssms.db “select _data from part where ct=’text/x-vcard’ COLLATE NOCASE”

接著再應用 awk 與 adb:sqlite3 mmssms.db “select _data from part where ct=’text/x-vcard’ COLLATE NOCASE” | awk -F’\n’ ‘{system(“adb pull \”” $1 “\””);}’

這樣就大功告成了,-F’\n’ 是為了要把整行當作一個欄位,system() 函式是執行指令,awk 裡的字串串加,不需要特別加上 ‘+’ 或 ‘.’ ,直接寫,像這樣 “hello” $1 “world” 就可以了。

參考資料:

電影流水帳(2014/5/3~2014/5/15)

Amy Adams在鋼鐵英雄裡飾演 Lois 的 Amy Adams。

  • Man of Steel (IMDB, Wikipedia),中譯:鋼鐵英雄。雖然以前看過超人,可是唯一的印象就是超人為了救 Lois 用超越光速的速度去改變地球的旋轉來時光倒流,以便救回 Lois。當然在看過史蒂芬.霍金的書以後,仔細想起來,這個舉動實在不太科學。
    好吧,鋼鐵英雄其實是重拍的作品,交代了超人為什麼會來到地球、被地球人收養、認識 Lois 又為什麼會害怕氪星石頭。害怕氪星石頭這件事情,簡單說,應該算是一種過敏或不適應吧。電影最後跟薩德亂打時,有莫名的違和感,畢竟這種近乎無敵的打鬥,怎麼打都打不死還真的是很奇怪。
    個人不是那麼喜歡超人,不過這部重拍的還不錯啦,可以看看。
  • The Hobbit-The Desolation of Smaug (IMDB, Wikipedia),中譯:哈比人:荒谷惡龍。接續上集,繼續矮人們的旅程。大概的經過就是矮人跟哈比人遇到了另外一群只求自身安全的精靈,逃出去之後,又到了 Lake-town ,應驗了當地的預言,最後即時上了山,到山洞裡找到 Arkenstone,並看到 Smaug 巨龍。片子的結尾是巨龍見笑轉生氣,要去毀滅 Lake-town。
    電影的支線是灰袍巫師與褐袍巫師發現了戒靈與半獸人再起,然後巫師受困這樣。
    這集裡我覺得有三個比較精彩的人,第一個是女精靈 Tauriel,她違抗命令,與 Legolas 跟 Kili 的感情若有若無的,頗值得推敲,後面應該有不少戲份。看過一些電影花絮,說這個角色是新創出來的。第二個是 Bard,在許久以前他的祖先曾經持有能射穿龍皮膚的黑箭,並與 Smaug 大戰過。他一直相信自己的祖先有射穿過 Smaug ,但鎮民不相信。Bilbo 在近距離接觸 Smaug 時,確定 Smaug 有被黑箭射中,至於為什麼沒死,可能要下集才會知道了。會覺得不錯,是因為他撫養蠻多小孩,而且他扮演著算是先知的防禦者角色,一方面他想起預言,知道矮人的到來將會帶來 Lake-town 的滅亡,一方面他也持有最後的黑箭,期望能為祖先雪恥。第三個是 Thorin,派 Bilbo 進去山裡後的情緒轉折,很值得玩味。
    大致來說,不錯看,有一就有二囉。

Grub symbol ‘grub_term_highlight_color’ not found

把筆電的 Ubuntu 13.10 升級到 14.04,想不到卻中了招,重開機時,出現 symbol ‘grub_term_highlight_color’ not found 的錯誤。

網路上一找,果然 launchpad 上已經有人回報了,網路上也有不少人分享解法。大致上有兩類解法:

  1. 設法用 livecd/liveusb 重新 chroot 進去,然後用 grub-install 重新安裝 grub
  2. 用 livecd/liveusb 開機,安裝 boot-repair ,利用 boot-repair 來解。

這兩類解法對我都無效,後來是在 launchpad 的那篇裡,看到 downgrade grub ,就想說來試試看。主要的步驟,還是 boot-repair,所以先用 Ubuntu 14.04 的 liveusb 開機,安裝 boot-repair,執行 boot-repair 。boot-repair 的過程裡,會有一些提示,以及需要手動下指令的部份,第一次會是要移除 grub 以及相關的套件;到了第二次時,會要你重新安裝 grub,這邊的指令要改變一下,先裝指定版本的 grub,再執行 boot-repair 提供的指令:sudo apt-get install grub-common=2.00-19ubuntu2 grub-efi-amd64=2.00-19ubuntu2 grub-efi-amd64-bin=2.00-19ubuntu2 grub-efi-amd64-signed=1.22+2.00-19ubuntu2 grub2-common=2.00-19ubuntu2

接著就是讓 boot-repair 做完就可以了。

備註:

  • 如果你不知道有哪些版本可以用,要找某 package 之前的版本,可以用 apt-cache show package | grep Version 來看。
  • 用 LiveCD/LiveUSB 開進去以後,自行掛載並 chroot 的方法,就是先用 sudo parted -l 或 sudo fdisk -l 確認分割區,接著做掛載的動作,大致是這樣 (分割區請自行替換,不要照抄):
    sudo mount /dev/sda5 /mnt
    sudo mount /dev/sda4 /mnt/boot
    sudo mount /dev/sda7 /mnt/home
    for i in /dev /dev/pts /sys /proc /run; do sudo mount $i /mnt$i; done
    sudo chroot /mnt
    hostname your_host
    export HOME=/root

電影流水帳(2014/4/24~2014/5/2)

katie holmes 這是飾演 Batman begins 裡 Rachel 的 Katie Holmes,也就是後來嫁給 Tom Cruise 又離婚的那個。

Maggie 而這是 The Dark knight 裡的 Rachel,由 Maggie Gyllenhaal 飾演,她是 Jake Gyllenhaal 的姊姊喔~ 今天寫文時,才發現她也有點像星際大戰裡的莉亞公主。

兩個人看起來還蠻相似的。不知道為什麼,之前沒看 Nolan 拍的 Batman begins,明明我就很愛看啊…

這次其實又重看了一次 The Dark knight,印象深刻了許多,像是 Joker 的名言 「If you are good at something, never do it for free!」跟「You complete me.」接著要來找機會再看一次 The dark knight rises 。

  • Batman Begins (IMDB, Wikipedia),中譯:蝙蝠俠-開戰時刻。2005 年的電影了,大家應該都耳熟能詳。
    Bruce 小時候父母在他眼前死去,對此,他心裡一直有個陰影存在。求學回來以後,Bruce 原本打算在兇手聽證會後,要開槍報仇,想不到卻搶先被黑幫的人幹掉。Bruce 被 Rachel 刺激,跑去找黑幫,反而被羞辱。於是 Bruce 痛下決心,遠遁別處,並且做了許多以前他不可能做的事情,最後到了西藏,追隨忍者大師學習忍道,以克服心裡的陰影。
    Bruce 通過了忍者大師的修業考試,但接下來的任務卻是要 Bruce 去摧毀 Gotham ,Bruce 不肯,進行反抗,整個山城都被摧毀。在打鬥之餘,Bruce 救出他的師傅,然後隻身回到 Gotham。在 Gotham ,他受到 Rachel 跟 Alfred 感召,決定以另外一種面貌挺身出來對抗罪惡,透過 Fox 的幫忙,蝙蝠俠誕生了。
    追查黑幫毒品的過程裡,Bruce 發現了稻草人的毒氣,循線追查後,更發現了他的師傅沒死,還帶了人來與稻草人合作要毀滅 Gotham。於是就展開大戰,最後順利解決,並且打響 Batman 的知名度。
  • RocknRolla (IMDB, Wikipedia),中譯:搖滾黑幫。這故事蠻有趣的,是講倫敦黑幫老大 Lenny 的故事。故事從 One Two 帶起,One Two 本來想炒地皮,去找 Lenny 幫忙,Lenny 看似幫忙,背地裡是在扯後腿。因為 Lenny 既想要這塊地皮,也想要 One Two 跟他借的錢與利息,於是 One Two 就糗了。這時俄國的一個富翁 Uri 也來找 Lenny 幫忙,還借畫給 Lenny,但是錢在運送時出了錯,被劫走。這筆錢是被 Uri 的會計師 Stella 給算計了,她知道消息後,找了 One Two 跟 Mumbles 來劫走這筆錢,所以 One Two 有錢還給 Lenny 了。Lenny 沒收到 Uri 的錢,而 Uri 借給 Lenny 的畫則被 Lenny 兒子 Johnny 拿走了,Lenny 不敢逼 Uri 太緊,只能摸摸鼻子寬限幾天。之後,Uri 再送一次錢,錢又再次消失,Uri 準備跟 Lenny 槓起來。Lenny 這一陣子則找了 Archy 去追他兒子,想把畫拿回來。最後,Lenny 被 Uri 打傷,而 Archy 則把劫走錢的 One Two 與 Handsome Bob 與 Johnny 都抓回來,這時候 One Two 亮出了內幕資料透露 Lenny 其實是洩漏消息的內賊,Lenny 出賣了所有人,讓所有人都坐過牢。Lenny 就被 Archy 清算掉了,Johnny 去戒了毒,戒完毒以後,Archy 來接他,Johnny 就立志要接班這樣。
    這部片找來不少不錯的演員,有 Ocean Eleven 的感覺。裏面有一幕戲,我覺得特別有趣。Bob 即將入獄,One Two 幫他開了個 Party ,找了脫衣舞女郎來狂歡。在開車去 Party 的路上,One Two 很開心的講著等等的脫衣舞女很棒之類的,結果 Bob 說:「我只要你」,One Two 立馬停車,然後很激動的跟 Bob 說,我認識你五年,你這樣一個帥哥,竟然是同志,以下省略抱怨以及種種髒話。講完以後,One Two 稍微冷靜下來了,誠心跟 Bob 道歉。之後的事情,則是在電影的最後有交代,請務必把電影看到最後。