首頁 > 文字處理與搜尋 > ed

ed:行導向文字編輯器

ed 是 Unix 風格系統中標準的行導向文字編輯器。它用於在終端機中編輯文字檔案,而無需圖形介面,並且在腳本或管道中用於自動化文字處理非常有用。

概述

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) 命令結合使用強大的正規表達式,可以查找和替換文字。

相同類別命令