使用 Bash shell script 有一部分是在利用 正規表示法 處理文件的格式化,下面幾個指令都與這有關.
Shell 變數
- 變數的 刪除與取代 https://benjr.tw/96951
- 變數的 測試與替換 https://benjr.tw/96998
- read 從鍵盤輸入,讀取變數 https://benjr.tw/97074
- 變數的取用 echo https://benjr.tw/97071
- $() , ${} , $(()) 的用法差別 https://benjr.tw/97062
- 變數 PS1,PS2,PS3,PS4 的特別定義 https://benjr.tw/96409
- 變數 $? https://benjr.tw/97512
- eval https://benjr.tw/105797
Bash shell script 的執行
- Bash shell script 的執行方式 source script, . script , ./script , sh script – https://benjr.tw/36365 , https://benjr.tw/97083
- xargs – https://benjr.tw/15639
資料處理
grep 是針對 行 裡面的字串做搜尋.sed 與 awk 都可以把文件做過濾和轉換成新的輸出內容. tr 只能做簡單的字元轉換與取代.
- grep – 主要是在一群文字資料裡搜尋 Keyword 關鍵字在哪一行.
常用參數 https://benjr.tw/93776
正規表示式 https://benjr.tw/97395 - tr – https://benjr.tw/97553 這個指令可以用來做字元的取代或是刪除.tr 只能針對字元來處理,如果要對字串做處理的話,必須使用 sed 來處理.
- cut – https://benjr.tw/101500 如果是要簡單擷取特定字串內容可以直接透過這個指令.
- sed – https://benjr.tw/97129 適合用於一整行的資料處理
- awk – 則比較適合將一整行做多個 欄位 的資料處理.
輸出語法 https://benjr.tw/97139
內建變數 https://benjr.tw/95645
程式結構 https://benjr.tw/97423
參數 https://benjr.tw/96104
應用 (資料的列轉行) https://benjr.tw/97533 - Linux 的資料導向 https://benjr.tw/97461
條件判斷式與迴圈
- select 迴圈 – https://benjr.tw/97124
- for 迴圈 – https://benjr.tw/97502
- while 迴圈 – https://benjr.tw/97517
檔案搜尋
- which , find , whereis , (s)locate 尋找檔案 – https://benjr.tw/183
- find 與綜合應用(重覆的檔案) – https://benjr.tw/95124
綜合應用
- 列出目錄及檔案數量 https://benjr.tw/66816
- 輸出 IP Address https://benjr.tw/97558
- 利用 grep , awk, sort , uniq 統計 syslog 裡面 UFW BLOCK 的 SRC (來源端的 IP) 出現次數 https://benjr.tw/98079
- 取代文字檔案內字串 https://benjr.tw/103931
bash 常用指令
- file & test – https://benjr.tw/23436 ,常用來檢查檔案的兩個工具.
- diff , cmp & meld – https://benjr.tw/14285 ,常用來做檔案比對的工具.
- wc ( Count bytes / words / lines) – https://benjr.tw/23416 ,用來算出檔案有多少個字元的工具.
- stat – https://benjr.tw/24116 ,Linux 會記錄檔案的三種時間 atime / mtime / ctime .
- cat , less , tail , head – https://benjr.tw/22800 ,檢視檔案內容的工具.
Function
- 可以把常用的 Bash shell script 可以寫成一個函數 function 提供呼叫使用 – https://benjr.tw/101131
除錯
- perf – https://benjr.tw/99567, 程式到底在執行哪一些呼叫,在 Linux 環境下可以透過 perf – Performance analysis tools for Linux 來檢視.
沒有解決問題,試試搜尋本站其他內容