ed編輯器使用

在學習shell腳本sed命令時覺得很難理解,然後就看了一下ed的使用說明,這個編輯器真特麼不好用, 難用歸難用,瞭解下其基本用法其實還是很簡單的。


轉自:http://blog.chinaunix.net/uid-9525959-id-2001556.html


ed 編輯器是 Linux 操作系統下最簡單的文本編輯器。它是以行爲單位對文件進行編輯不像 MS-DOS 系統下的 edit 那樣是以整個屏幕框架爲單位對文件進行編輯的。

ed編輯器有兩個狀態:命令行狀態和編輯狀態。前者接收輸入的ed命令也是默認啓動狀態,後者對文件以行爲單位進行編輯,下面開始學習。


**新建一個文件testNew:

*方法1,先指定文件名,輸入過程如下:

$ls

$ed testNew

testNew: No such file or directory <==此處是輸出,表示一個不存在的文件。

w

0 <==此處是輸出,表示寫了0個字符。

q

$ ls

testNew <==此處是輸出,可見多了一個新的空文件。

這裏,w表示寫命令,q退出,後面會提到。如果沒有w那麼q之後也不會建立新的文件。


*方法2,寫時再指定名字,輸入過程如下:

$ls

testNew <==此處是輸出,只有剛纔新建的文件。

$ed

w

? <==此處是輸出,?表示有問題,或命令不識別或別的,此處是缺少文件名。

w

? <==此處是輸出,同上。

w testNew2

0 <==此處是輸出,表示寫了0個字符。

q

$ls

testNew  testNew2 <==此處是輸出,可見多了一個新的空文件testNew2。

這裏,因爲是一個新文件,所以如果一直w且沒輸入文件名的話,會一直提示,直至你指定了一個文件名。如果在w testNew2之前按q將直接退出,這樣也不會建立這個新文件了。

**


**編輯已存在的文件:

*編輯文件testNew

$ed testNew

0 <==此處是輸出,表示讀了0個字符。

這裏,默認進入的是命令狀態,你可以輸入任何命令進行編輯文件。按q退出。


*命令行狀態常用命令:

a <==在文件的末尾添加新內容。

i <==在文件的最後一行之前插入新內容。

o <==把文件輸入的最後一行(不論是原來存在的或者插入的)替換成新內容。

. <==退出編輯文件模式進入命令行模式(注意:此時並沒有退出 ed 編輯器)。

w <==保存文件,如果指定一個名稱表示另存爲的意思,這就不改變當前文件了。

q <==退出 ed 編輯器,如果沒有w則提示?,再次q就非保存退出了。

Q <==相當強制退出,無論保存與否。

**


*新建一個文件並編輯的流程舉例:

$ ed

a <==輸入a告訴 ed 我要編輯新文件

My name is QuietHeart. <==輸入第1行內容

And I love ed very much. <==輸入第2行內容

. <==輸入.返回 ed 的命令行狀態

i <==輸入i告訴 ed 我要在最後一行之前插入內容

I am 25. <==輸入,將“I am 25.”插入“My name is ...”和“And I love...”間.

. <==輸入.返回 ed 的命令行狀態

c <==輸入c告訴 ed 我要替換最後一行輸入內容

I am 25 years old. <==輸入,將“I am 25.”替換成“I am 25 years old.”

.w <==輸入,一個誤操作,結果成了輸入了。

q <==輸入,由於前面一個誤操作,結果成了輸入了。

. <==輸入.,這才返回 ed 的命令行狀態,而不是前面.w

w testNew <==輸入,將文件命名爲“testNew”保存(如果已存在文件,只需要敲入 w否則會覆蓋)

72 <==這裏是輸出,表示寫入的字符數。

q <==輸入q完全退出 ed 編輯器


下面,我們來看看剛剛新建的文件的內容:

$ cat testNew

輸入之後,輸出如下:

My name is QuitHeart.

I am 25 years old.

.w

q

And I love ed very much.

這裏,我幾乎都用到了前面給出的常用命令,我們可以瞭解ed最最簡單的使用了,後面再說一些其它實用的命令。


常用的命令

*打印所有行:

%p

*打印所有行並且顯示行號:

%n

*打印當前行:

.p

*打印當前行並且顯示行號:

.n

*跳到第3行:

3

*顯示並切換到下一行:

+

下兩行則++

*顯示並切換到上一行:

-

上兩行則--


*退出:

q

這裏如果沒有保存則第一次退不出去,再q就退出但沒有保存。


*強制退出:

Q

不會保存。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章