Ed
在ed(行編輯器)中,如何新建一個文件進行編輯?
我無法在標準行編輯器 ed 中打開新文件進行編輯。我可以打開一個現有的文件。
我所指的使用者指南說,ed 應該返回 ‘?barney’ 即?
$$ new_file_name $$; 但是在我的情況下,它會搜尋現有文件。
只是
w
儀式它。ed
將創建用於寫入的文件:$ ed fred fred: No such file or directory w 0 ? q $ ls fred fred
您正在閱讀的文本可能是為
ed
. 診斷輸出在編輯器的所有實現中並不完全一致。您正在使用的編輯器的行為與預期目前實現的行為一樣,即,它輸出一條關於barney
未找到的簡短診斷消息,並將您置於“命令模式”。除了有關診斷消息實際內容的詳細資訊外,這與您的文本中的相同。
ed
編輯器具有“預設文件名”的概念。當您使用 啟動編輯器ed barney
時,預設文件名為barney
. 當您使用 將緩衝區寫入文件w
時,以預設文件名命名的文件將被緩衝區覆蓋。如果文件不存在,則會創建它。您可以從命令行和問題中設置預設文件名,但您也可以使用
f
命令進行設置。沒有參數,該f
命令將預設文件名列印到終端:$ ed -p '*' myfile myfile: No such file or directory *f myfile *f my-other-file my-other-file *w 0 *q
$ ls -l my-other-file -rw-r--r-- 1 myself myself 0 Nov 17 11:41 my-other-file
如果沒有預設文件名(您在沒有命名文件的情況下啟動了編輯器),您需要在使用
f somename
寫入文件之前設置預設文件名w
,或者您可以將文件名w
作為參數提供。w
如果沒有設置預設文件名,則與文件名參數一起使用會設置該名稱的預設文件名。
w myfile
在此處更改預設文件名:$ ed -p '*' *w ? *w myfile 0 *f myfile *q
w bar-file
不會更改此處的預設文件名(因為它已經在命令行上設置):% ed -p '*' foo-file foo-file: No such file or directory *w bar-file 0 *f foo-file *q