題 如何用ed編輯文件?


我必須處理 ed 為了編輯配置文件。該 手冊頁 是用通常的痛苦風格寫的,這不會讓我希望我能理解如何使用 ed 花了一兩個小時來閱讀它,例如

  • q Quits ed. 沒有任何進一步的陳述沒有幫助,因為在退出基於緩衝區的編輯器時需要考慮一百萬件事情,並且手冊頁作者必須將它們鏈接到那裡
  • 提供0.5個例子和
  • 解釋基本命令之前的行尋址和替換。

我可以使用哪些簡單的組合鍵來編輯太複雜的文件 echo 和重定向?

vinano 和 pico 在我必須使用的NetBSD 7.0.2安裝shell中不可用。


5
2018-01-26 07:28


起源


這是一個基於行的編輯器,你必須知道你想要去的地方,如果它不同於替換。如果沒有其他編輯,你真的應該和負責人談談 vi 可用。如果不進一步指定您要對文件執行的操作,則沒有任何意義的完整幫助。正如您通常會指定“在第5行插入文本”或“刪除第12行”之類的內容。 這個 有一些關於如何使用它的例子,但它會很痛苦。 - Seth
如果你必須使用 ed 然後讀 實際上使用ed 和 GNU ed行編輯器。 - DavidPostill♦
在實踐中,避免使用 ed 如果你不熟悉它。嘗試找另一個編輯器。也許你有一些 nano。或者將文件保存在某些USB密鑰上,使用其他計算機或操作系統進行編輯。 - Basile Starynkevitch
要擴展@BasileStarynkevitch的評論:嘗試運行 apropos editor 要么 man -k editor。您可以找到其他可能更容易使用的基於文本的編輯器,例如 nano 要么 pico。 - Joe


答案:


我其實非常喜歡 ed,主要是因為你可以在不抓取整個屏幕的情況下進行微小的編輯,這樣你就可以輕鬆查看命令歷史記錄。但是,我不願意堅持下去。

一些技巧:

  • cat -n FILE 在使用ed之前。你需要知道行號。

  • 查看您認為要編輯的行 <linenum>p (要不就 <linenum>)。這也會移動光標。

  • 大多數命令都是vi:

    • i <text> 在當前行之前插入文本(以最後提到的行為準, n 如果你不確定會告訴你)。
    • c 將當前行更改為您之後寫的任何內容,直到您使用EOF CTRL-d 或者輸入一個單行 .
    • d 刪除
    • /<text> 搜索
    • w 寫入磁盤

    • 等等。有關更多命令,請參閱man-page或DavidPostill的鏈接。

  • 使用。進行備份 cp。經常。


2
2018-02-14 12:57