:::

Linux搜尋資料夾下的檔案內文:find+grep指令產生器 / Search the Content of Files on Linux: find + grep Command Builder

布丁布丁吃布丁

Linux搜尋資料夾下的檔案內文:find+grep指令產生器 / Search the Content of Files on Linux: find + grep Command Builder

image

Linux內建了強大的搜尋工具find,可以與grep指令搭配一起使用,以達到檔案內文全文檢索的功能。但是這兩個指令太長了,我每次都要找一下它們是怎麼組在一起。這次索性乾脆寫成一個簡單的find+grep指令產生器,讓我們使用搜尋指令更加便利!


搜尋指令 find+grep產生器 / find+grep command builder

find與grep指令說明 / About find and grep commands

預設產生的指令為:

find "/var/www/" -name "*.php" -exec grep -H "Exception" {} \;

這段指令的意思是:

  • 在「/var/www/」路徑底下。
  • 搜尋名為「*.php」的檔案。「*」為萬用字元,可取代任意檔名。
  • 搜尋字串「Exception」。

關於find與grep的介紹,請看[Linux] 搜尋資料夾底下 檔案內部文字這篇。

全系統檔案名稱快速搜尋 / Search Files in Whole System

如果要快速找尋全系統中擁有指定檔案名稱的指令,那麼建議使用locate。例如:

locate log.txt

有時候使用locate之前,要先搭配updatedb建立索引。updatedb指令需要有root權限,用法通常會是:

sudo updatedb; locate log.txt

關於locate的詳細用法,請參與鳥哥的「第六章、Linux 檔案與目錄管理:locate / updatedb」。

(more...)

手機也可以拍微距淺景深效果!Android的可變焦距相機 / How to take a bokeh photo with Android phone? Zoom Camera

布丁布丁吃布丁

手機也可以拍微距淺景深效果!Android的可變焦距相機 / How to take a bokeh photo with Android phone? Zoom Camera

image

春神到訪的三月有許多漂亮的花兒盛開。待在政大山上畢不了業的我,校內上下山時也喜歡拍些山櫻花的照片做記錄。山櫻花並不大,我用Android的Google Camera相機實在很難近距離對焦在花上。後來我改用了可變焦距相機APP,就能夠輕鬆聚焦在花朵上。不用專業相機也不用後製,我們就能在微距下拍出淺景深的效果囉。

(more...)

線上中文斷詞工具:Jieba-JS / Online Chinese Analyzer: Jieba-JS

線上中文斷詞工具:Jieba-JS / Online Chinese Analyzer: Jieba-JS

image

現在最流行的中文斷詞工具結巴(jieba)原本是以Python開發,必須要有Python的環境才能運作。不過它也有很多不同程式語言的版本,其中最好用的就是不需要安裝、只要瀏覽器就能夠執行的JavaScript版本:Jieba-JS。我把Jeiba-JS專案fork了一份:jieba-js,並加入了可以讓其他程式碼直接引用的方法。這樣在任何網頁上都可以輕易實作斷詞功能了。

(more...)

從瀏覽器連結開啟Windows本機的檔案:System Protocol / Open Windows Local File with A Link in Brower: System Protocol

從瀏覽器連結開啟Windows本機的檔案:System Protocol / Open Windows Local File with A Link in Brower: System Protocol

image

作業系統中可以設定捷徑開啟網頁(請參考「自製網頁應用程式!使用Chrome的命令列選項app來製作網頁應用程式捷徑」這篇),那麼網頁能不能反過來開啟作業系統裡面的檔案呢?答案就是Registering an Application to a URI Scheme,在Windows裡面將應用程式登錄為指定通訊協定(Protocol)。我參考從網頁呼叫使用者電腦應用程式的寫法,製作了System Protocol程式。它可以讓我們的電腦用「sp://"c:\file.doc"」來開啟本機檔案的連結方式,甚至還可以傳遞參數。但是這個方法會為作業系統大開後門,使用的時候必須先瞭解它的安全性風險。

(more...)

PostgreSQL常用指令 / PostgreSQL Commands

PostgreSQL常用指令 / PostgreSQL Commands

image

最近很常在Debian裡面安裝PostgreSQL,在此將我會用到的指令都整理一下吧。以前寫過一篇「PostgreSQL的備份與復原」到現在也蠻常參考的,在這裡一併整合備份與復原的語法。

(more...)

擷取AJAX動態產生的網頁內容:PhantomJS指令列工具 / Crawling AJAX Webpages with PhantomJS Command Line Utility

擷取AJAX動態產生的網頁內容:PhantomJS指令列工具 / Crawling AJAX Webpages with PhantomJS Command Line Utility

image

現在很多網頁內容都是以動態的方式產生,例如Facebook會在開啟網頁之後再來讀取網頁內容,就連「布丁布丁吃什麼?」也是在網頁開啟之後再來慢慢載入旁邊的小工具。這種使用AJAX技巧來調整畫面的網頁,雖然便於一般使用者用瀏覽器查看,但是卻會造成伺服器端用程式抓取網頁的困難。

還好,現在我們可以用Node.js寫成的虛擬瀏覽器PhantomJS來幫我們載入完整的網頁內容。為此我寫了一些搭配PhantomJS使用的命令列腳本,讓我們可以在Linux 32位元環境下以指令端擷取指定網址,並配合jQuery選取器抽取出需要的網頁元素,最後直接回傳顯示在螢幕上。

(more...)

使用Apache Tika指令列抽取文件的內文 / Using Apache Tika Extract File’s Content

使用Apache Tika指令列抽取文件的內文 / Using Apache Tika Extract File’s Content

image

如果要做檔案中的全文檢索服務,那就要先把檔案的內文抽取出來轉換成字串,這樣才能提供全文檢索引擎進行索引。Apache Tika是一個萬用型的檔案內文抽取工具,我們可以用指令列來操作Tika,就能從PDF、Microsoft Office、Open Document、純文字檔案等文件抽取內文。非常好用!

(more...)

簡易PHP中文斷字器 / A Simple Chinese Word Tokenizer in PHP

布丁布丁吃布丁

簡易PHP中文斷字器 / A Simple Chinese Word Tokenizer in PHP

image

這篇製作了一個簡單的斷字器,將「這份編號是tc_130的心靈錯位器真是太cool了」變成「這 份 編 號 是 tc _ 130 的 心 靈 錯 位 器 真 是 太 cool 了」。詳細來說,就是在不是英數字的文字前後加上空格,但是英數字則保持原樣。這樣子就能讓Apache Solr這樣的全文檢索引擎為內容索引時,就可以找到以中文一個字為單位的層級了。

 

(more...)

「布丁布丁吃什麼?」留言功能調整:上傳圖片 / Comment Form New Feature: Image Upload

布丁布丁吃布丁

「布丁布丁吃什麼?」留言功能調整:上傳圖片 / Comment Form New Feature: Image Upload

image

最近有讀者覺得留言框只能寫文字、不能上傳圖片,不太方便發問。所以我在留言框的下面加上了Imgur上傳圖片的連結,並以這篇教大家如何上傳圖片、取得圖片網址,這樣大家就更能夠方便發問了。

(more...)

集換式卡片遊戲「水瓶戰記」的結尾 / The End of Aquarian Age

布丁布丁吃布丁

集換式卡片遊戲「水瓶戰記」的結尾 / The End of Aquarian Age

image

最近這幾天忽然很想知道現在水瓶戰記(水瓶世紀)的運作狀況,所以就上網查查看,簡單閒聊一下。(圖片來自於水瓶戰記官網)

(more...)