sed 主要用来批量編輯文件,快速置換、修改等功能
命令:
sed [-hnV][-e<script>][-f<script>][file]
參數說明:
- -e<script>或–expression=<script>
 - -f<script文件>或–file=<script>
 - -h或–help 。
 - -n或–quiet或–silent 顯示處理後的結果
 - -V或–version 版本訊息
 
script 命令說明:
- a :新增, a 的后面可以接字串,而这些字串會出現在目前的下一行
 - c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之間的行
 - d :删除,因为是删除啊
 - i :插入, i 的后面可以接字串,而这些字串會出現在目前的上一行
 - p :輸出。通常 p 會与参數 sed -n 一同使用
 - s :取代,可以直接进行取代的工作。通常搭配正则表达式。
 
script 在命令需使用單引號包起來,並在命令前面,加上行數, 常見的有2d(刪除第2行)2,$d(從第2行到最後), 2,5d (刪除2~5行),其他命令以起類推。
常用的取代及正規化法
sed 's/要被取代的字串/新的字串/g'
範例:
$ /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
正規化法 常用的定義
| 命令 | 說明 | 
| ^word | 搜尋的字串(word)在行首 | 
| word$ | 搜尋的字串(word)在行尾 | 
| . | 『一定有一個任意字元』的字符 | 
| \ | 跳脫字符,將特殊符號的特殊意義去除 | 
| * | 重複零個到無窮多個字 | 
| [list] | 字元集合的字,裡面列出想要擷取的字元 | 
| [n1-n2] | 字元集合的字,裡面列出想要擷取的字元範圍 | 
| [^list] | 字元集合的字,裡面列出不要的字串或範圍 | 
| \{n,m\} | 連續 n 到 m 個的『前一個字 』 若為 \{n\} 則是連續 n 個的前一個字 若是 \{n,\} 則是連續 n 個以上的前一個字  | 
| [:alnum:] | 英文大小寫字元及數字,亦即 0-9, A-Z, a-z | 
| [:alpha:] | 任何英文大小寫字元,亦即 A-Z, a-z | 
| [:blank:] | 空白鍵與 [Tab] 按鍵兩者 | 
| [:cntrl:] | 鍵盤上面的控制按鍵,亦即包括 CR, LF, Tab, Del.. 等等 | 
| [:digit:] | 數字而已,亦即 0-9 | 
| [:graph:] | 除了空白字元 (空白鍵與 [Tab] 按鍵) 外的其他所有按鍵 | 
| [:lower:] | 小寫字元,亦即 a-z | 
| [:print:] | 任何可以被列印出來的字元 | 
| [:punct:] | 標點符號 (punctuation symbol),亦即:” ‘ ? ! ; : # $… | 
| [:upper:] | 大寫字元,亦即 A-Z | 
| [:space:] | 任何會產生空白的字元,包括空白鍵, [Tab], CR 等等 | 
| [:xdigit:] | 16 進位的數字類型,因此包括: 0-9, A-F, a-f 的數字與字元 |