知乎專欄 | 多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者” |
目錄
行定址
. 此選項對當前行定址(預設地址)。 number 此選項對第 number 行定址。可以按逗號分隔的範圍 (first,last) 對行定址。0 代表緩衝區的開頭(第一行之前)。 -number 此選項對當前行之前的第 number 行定址。如果沒有 number,則減號對緊跟在當前行之前的行定址。 +number 此選項對當前行之後的第 number 行定址。如果沒有 number,則加號對緊跟在當前行之後的行定址。 $ 此選項對最後一行定址。 , 此選項對第一至最後一行定址,包括第一行和最後一行(與 1,$ 相同)。 ; 此選項對當前行至最後一行定址。 /pattern/ 此選項對下一個包含與 pattern 匹配的文本的行定址。 ?pattern? 此選項對上一個包含與 pattern 匹配的文本的行定址。
命令描述
a 此命令在指定的地址之後追加文本。 c 此命令將指定的地址更改為給定的文本。 d 此命令刪除指定地址處的行。 i 此命令在指定的地址之前插入文本。 q 此命令在將緩衝區保存到磁碟後終止程序並退出。 r file 此命令讀取 filespec 的內容並將其插入指定的地址之後。 s/pattern/replacement/ 此命令將匹配 pattern 的文本替換為指定地址中的 replacement 文本。 w file 此命令將指定的地址寫到 file。如果沒有 address,則此命令預設使用整個緩衝區。
實例,刪除passwd中的neo用戶
ed -s passwd <<EOF /neo/ d wq EOF
ed -s mfsmetalogger.cfg <<EOF ,s/^# // wq EOF
刪除尾隨空格
$ cat -vet input.txt This line has trailing blanks. $ This line does not.$ $ (echo ',s/ *$//'; echo 'wq') | ed -s input.txt $ cat -vet input.txt This line has trailing blanks.$ This line does not.$