歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 高級 UNIX 工具(1)----sed

高級 UNIX 工具(1)----sed

日期:2017/2/28 11:26:24   编辑:關於Unix


  有很多專門的書籍來介紹awk和grep,通常在這些書中,只是簡要的介紹grep,因為awk在很多方面都是來源於sed和grep的,另外,在awk,sed和grep中,使用正則表達式(用於模式匹配)的方法也是類似的.
首先,正則表達式中應該注意的事項:
(1)正則表達式與shell使用的文件匹配模式不同.
(2)用單引號 ' 表示正則表達式.
sed的許多用法與ed相同.
可以用下面兩種方式調用sed:
sed [-n][-e] 'command' filename(s)
sed [-n] -f scriptfile filename(s)
sed的第一種格式用於在命令行中執行命令.默認情況下,sed將顯示所有行,-n 表示只需要打印p命令指定的行.第二種格式允許指定一個或多個包含編輯命令的腳本.下面是sed的兩種不同格式中的三個選項進行總結:
-n 只打印用p命令指定的行
-e command -e後的參數是一個編輯命令
-f filename -f後的參數是包含編輯命令的文件
下面看幾個例子:
sed -n 16,18p passwd.test 打印passwd.test的16到18行.
sed 16,18d passwd.test 刪除passwd.test的16到18行.
sed '/bsh/ d' passwd.test 刪除包含bsh的行.
sed '/bsh/ ld' passwd.test 刪除除bsh行以外的行
前面僅僅用了sed中的一些很表面的命令,下面總結了sed的命令:
命令 說明
a 添加文本
b 轉移到標簽處
c 用文本替換行
d 刪除當前文本緩沖區
i 插入文本
P 從模式空間開始打印,知道出現新行
r 讀入模式
s 替換模式
y 轉換字符
Copyright © Linux教程網 All Rights Reserved