Linux grep 出 Tab 的幾種方法

Linux 想要使用 grep 把檔案裡面有 [Tab] 的內容找出來,有下面幾種方法:

  • grep -P '\t' example.txt
  • grep $'\t' example.txt
  • grep '<Ctrl+V>[TAB]' example.txt

Linux 解決 grep pipe 要 4k 才會印出來

tail -F 一直把 Log 撈出來,然後 grep 出想要的內容,在即時打出來

但是,發現打出 Log 的時間並不是即時打出來的,而會累積一段時間後才打出來,要怎麼能即時將內容打出來呢?

閱讀全文〈Linux 解決 grep pipe 要 4k 才會印出來〉

Linux grep 結果不要秀 路徑 與 檔名

Linux 若想要多檔案、目錄要 grep 內容,可以使用 -r,但是出來的結果都會有檔名、路徑,不要呈現要怎麼做呢?

Linux grep 結果不要秀 路徑 與 檔名

Linux 的 grep 通常後面會 Pipe 接很多的處理,結果有檔名、路徑等資料,反而會造成後續的困擾。

可以使用 -h 來決定檔名路徑是否要呈現

  • -h, --no-filename
  • -H, --with-filename
    • 通常使用 -H 的話,還會搭配 -n 顯示行數
  • 範例:grep -r -h "match keyword" *

Linux 使用 pgrep 找出 Processes 所有 pid

平常要找某 Process (Ex: Apache) 的 Pid,都是 ps aux | grep apache 然後在搭配 awk 來把 pid 撈出來。

上述方式撈出來的這些 pid 常常會有一個是 ps 的 pid,而且撈的方式還蠻辛苦的~ 使用 pgrep 可以比較輕鬆解決~

閱讀全文〈Linux 使用 pgrep 找出 Processes 所有 pid〉

Linux grep 列出抓到內容的前後幾行內容

Linux 使用 grep 找資料很方便,再找程式碼的時候,除了找到的那一行外,特別需要在那行的前後幾行都列出來,要怎麼做呢?

閱讀全文〈Linux grep 列出抓到內容的前後幾行內容〉

PHP 將陣列有部份「符合字串」的全部過濾移除

PHP 要對陣列的內容做過濾排除的動作,類似 grep -v 的效果,要怎麼做呢?

  • 註:grep -v:--invert-match (Invert the sense of matching, to select non-matching lines.)

閱讀全文〈PHP 將陣列有部份「符合字串」的全部過濾移除〉

使用 grep 過濾兩個檔案(不)重複的內容

Linux 常常使用 grep 來找某段字串(可以使用 regex),不過 grep 還有許多強大的功能,例如:

兩個檔案內容,想要把兩個檔案都有的內容撈出來,或者把其中 A檔案 當過濾(Filter)條件,另外 B檔案有出現 A檔案 的內容,全部過濾掉,都可以靠 grep 達成。

閱讀全文〈使用 grep 過濾兩個檔案(不)重複的內容〉