====== 特殊字元 ====== * 跳脫字元 \ :取消某些特殊字元的意義 * 單引號 ' :單引號內所有字元均視為一般字元,無特殊字元存在 * 雙引號 " :保存特殊字元意義 * 反向單引號 ` :執行內部指令 ex: echo `date` ====== Filter ====== ===== sort ===== * -b:忽略開頭空白 * -f:忽略大小寫 * -n:依數字由小到大排序 * -r:反向 * -m:依照月份 ==== 依照欄位 ==== 預設為對第一欄排序 $ sort +1 FILE # 依第二欄排序 ===== tr ===== 字元取代 $ tr '\t' : < FILE # 將 file 中所有 Tab 換成 : $ tr -d aeiou < FILE # 將所有 a、e、i、o、u 字元刪除 $ tr '[a-z]' '[A-Z]' < FILE $ 將所有小寫轉成大寫 ====== 處理欄位 ====== ===== cut ===== 擷取欄位 * -f:選取欄位,-f1 表第一欄,-f1,3 表第一、三欄,-f1-3 表第一~三欄 * -d:欄位分隔,-d: 表以「:」分隔,-d' ' 表以空白分格 * -c:選取字元,-c10-20 表選第 10~20 字元,-c30- 表第 30 字元到行尾 * -b:選取位元組,同上 $ cut -d' ' -f2 FILE # 取出 file 中以空白分隔的的第二個欄位 ===== colrm ===== 刪除字元 $ colrm [startcol [endcol]] $ colrm 5 15 FILE # 刪除 file 中每行的第 5~15 的字元 ===== paste ===== 貼上欄位 * -d:設定組合後的分隔符號,-d: 表以冒號作為欄位間的分隔記號 * -s:以串列(橫向)方式組合 $ paste FILE1 FILE2 ===== join ===== 將兩檔案中相同的欄位依序結合 $ join FILE1 FILE2 $ cat join_1 ABC 1 DEF 2 GHI 3 $ cat join_2 DEF 1 GHI 2 JKL 3 $ join join_1 join_2 DEF 2 1 GHI 3 2 ====== pinfo ====== 讓 info 檔上色,利於閱讀。