基本應用:
1,$n 列印檔案內容,並加行號資訊
n 到第n行(n為數字)
n 顯示當前行的內容(n為字元)
d 刪除該行
/xx/ 尋找xx
?xx? 反向尋找xx
// 尋找下一個
s/str1/str2/ 當前行中替換str1為str2
ns/str1/str2/ 在第n行中替換str1為str2
a,c,i 在當前行操作(a:在行後添加 c:修改行內容 i:在行前插入)
命令參數:
ed file
出錯時,h提供簡單協助資訊,H提供詳細協助資訊,用a,c,I進入輸入方式,在單獨一行上用,回到命令格式儲存檔案w. Wq =x
p .p 顯示當前行
= 顯示當前行的行號
np 顯示第n 行
1,6p 顯示1-6行
$p 顯示最後一行
1,$p顯示所有行
+ 顯示下一行
- 顯示上一行
n 顯示當前行及行號
nn 顯示第n行及行號
x,yn 顯示x—y行及行號
l 顯示當前行包括非列印字元
d 刪除當前行
u 取消最後命令
s /str1/str2 用 str2 取代str1
s/str1// 刪除str1
2s/str1/str2/n 第2 行的str1改為str2並顯示修改後的行
s/str1/str2/g 全程替換
<first>,<end>m<line>
2,4m6 第2—4行移到第6行之後
t 塊拷貝格式同m
r file 將檔案讀到當前行後
<first>,<end> w file 寫塊到檔案
!cmd 執行shell命令
/模式/ 正向尋找命令
?模式?反向尋找命令
// 繼續找第2個
g/the/p 全程尋找並顯示
g/the/s/the/that/ 全程尋找the並用that代替the
v與g命令相反
v/the/n 全程尋找不包含the 並顯示
無字元
^代表行首 $行尾 .任一字元 *任意多個與前面相同字元
/A….B/ 以A開關B結尾中間3個任意
. s/. /. 第1個 . 當前行
第2 個 . 任一字元
第3個 . 字元
s/xx*/y/ 用y代替2個或2個以上的x
s/x*y/y/ 用y代替以x開頭以y結束的所有字元
&代表第1個模式內容
/模式1/(模式1)/=/模式1/(&)/
[xz]表示x或z
[0-9]表示0-9的任一數字
----------------------------------------------------------------------------------------------
ed 編輯器是 Linux 作業系統下最簡單的文字編輯器。它是以行為單位對檔案進行編輯的編輯器,而不像 MS-DOS 系統下的 edit 那樣是以整個螢幕架構為單位對檔案進行編輯的。因此,如果你已經習慣了使用 edit 這種風格的編輯器,那麼你可能需要一段時間才能習慣 ed 的風格。但是這並不重要,因為 ed 的簡便性可以使你很快上手的。
ed 編輯器的調用很簡單,如果你想建立一個檔案,那麼只需要在命令列視窗中敲入 ed 然後按下斷行符號鍵即可:
[titan@localhost titan]$ ed <-
如果你想編輯一個已經存在的檔案,那麼你只要在 ed 的後面空一個,然後敲入檔案名稱即可:
[titan@localhost titan]$ ed filename <-
啟用 ed 命令後進入的是 ed 編輯器的命令列狀態,這可能使一些初學者有些不習慣,如果你這時候隨便敲入一些內容,系統會返回一個 ?,表示不知道你要執行什麼任務:
[titan@localhost titan]$ ed <-
abcde <-
?
這時候你要明確幾個編輯器命令,它們是:
a - 在檔案的末尾添加新內容
i - 在檔案的最後一行之前插入新內容
o - 把檔案輸入的最後一行(不論是原來存在的或者插入的)替換成新內容
. - 退出編輯檔案模式進入命令列模式(注意:此時並沒有退出 ed 編輯器)
w - 儲存檔案
q - 真正退出 ed 編輯器
下面我將就著幾個命令舉例說明一下。
[titan@localhost titan]$ ed <- 啟用 ed 命令
a <- 告訴 ed 我要編輯新檔案
My name is Titan. <- 輸入第一行內容
And I love Perl very much. <- 輸入第二行內容
. <- 返回 ed 的命令列狀態
i <- 告訴 ed 我要在最後一行之前插入內容
I am 24. <- 將“i am 24.”插入“my name is titan.”和“and i love perl very much.”之間
. <- 返回 ed 的命令列狀態
c <- 告訴 ed 我要替換最後一行輸入內容
I am 24 years old. <- 將“i am 24.”替換成“i am 24 years old.”(注意:這裡替換的是最後輸的內容)
. <- 返回 ed 的命令列狀態
w readme.text <- 將檔案命名為“readme.text”並儲存(注意:如果是編輯已經存在的檔案,只需要敲入 w 即可)
q <- 完全退出 ed 編輯器
[titan@localhost titan]$ 返回到 Linux 系統的命令列狀態
這是檔案的內容是:
[titan@localhost titan]$ cat readme.text <-
My name is Titan.
I am 24 years old.
And I love Perl vrey much.
[titan@localhost titan]$