ホーム > テキスト処理・検索 > ed

ed: ライン指向テキストエディタ

edは、Unix系システムで使用される標準的なライン指向テキストエディタです。グラフィカルインターフェースなしでターミナルからテキストファイルを編集する際に使用され、スクリプトやパイプラインでの自動化されたテキスト処理に役立ちます。

概要

edは、テキストファイルを一行ずつ編集することに特化した、強力かつ簡潔なエディタです。対話モードだけでなく、スクリプトからの非対話的な使用も可能であり、自動化されたテキスト処理に適しています。

主な特徴

  • ライン指向編集: 一度に一行ずつ作業します。
  • スクリプトフレンドリー: 非対話的な使用に適しています。
  • 非常に軽量: 最小限のリソースを使用します。
  • POSIX標準: ほとんどのUnix/Linuxシステムに標準搭載されています。

主なオプション

edはコマンドラインオプションが多くなく、ほとんどの機能はエディタ内部のコマンドで実行されます。

動作制御

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`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)コマンドと共に強力な正規表現を使用して、テキストを検索・置換できます。

同じカテゴリのコマンド