概述
ed 是一個功能強大但簡潔的編輯器,專門用於逐行編輯文字檔案。除了互動模式外,它還可以在腳本中以非互動方式使用,非常適合自動化文字處理。
主要特點
- 行導向編輯:一次處理一行
- 對腳本友好:適合非互動式使用
- 非常輕量級:資源佔用極少
- POSIX 標準:預設安裝在大多數 Unix/Linux 系統上
主要選項
ed 的命令列選項不多,大多數功能透過編輯器內部的命令執行。
行為控制
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`ed` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
ed 可以互動式使用,或透過腳本中的輸入重定向來使用。
建立新檔案並新增文字
ed newfile.txt
a
Hello, ed!
This is a test line.
.
w
q
開啟新檔案,新增文字,然後儲存並退出。
開啟現有檔案並查看內容
ed existing_file.txt
1,$p
q
開啟現有檔案,列印所有行,然後退出。
替換特定文字 (非互動式)
echo '1,$s/old_text/new_text/g
w
q' | ed -s my_document.txt
將檔案中的 'old_text' 全部替換為 'new_text' 並儲存。使用 -s 選項抑制輸出。
在檔案結尾新增文字 (非互動式)
echo '$a
New line added at the end.
.
w
q' | ed -s my_document.txt
在檔案結尾新增一行並儲存。
提示與注意事項
ed 的使用方式與其他現代編輯器截然不同,因此理解一些核心概念非常重要。
ed 使用核心概念
- 命令模式與插入模式:ed 預設處於命令模式,透過
a(append)、i(insert)、c(change) 命令進入插入模式。在插入模式下,在單獨一行輸入.(點) 會返回命令模式。 - 位址指定:命令可以應用於特定行(例如
1表示第一行,$表示最後一行,.表示當前行)或行範圍(例如1,$表示整個檔案)。 - 儲存與退出:使用
w命令儲存變更,使用q命令退出編輯器。不支援wq等組合。Q會在不儲存變更的情況下強制退出。 - 查看當前行:輸入
.命令會輸出當前行的內容,輸入=命令會輸出當前行號。 - 正規表達式應用:與
s(substitute) 命令結合使用強大的正規表達式,可以查找和替換文字。