ed を実行する形式は次のとおりです。
ed [options] [[+line] file] red [options] [[+line] file] ed [options] [[+line] '!command [arguments]']
file は読み込むファイル名を指定します。file の前に感嘆符(!)がある場合は、シェルコマンドとして解釈されます。この場合に読み込まれるのは、sh 経由で実行した file の標準出力です。感嘆符(またはハイフン)で始まる名前のファイルを読み込むには、名前の前に ./ を付けます。既定のファイル名が file に設定されるのは、前に感嘆符が付いていない場合だけです。
ファイル名の前に「+line」を付けて、現在行を指定した行番号の行に設定できます。line がファイルの行数を超えている場合は、現在行が最終行に設定されます。
ファイル名の前に「+/re」を付けると、正規表現 re に一致する最初の行を現在行に設定できます。「+?re」を付けると、re に一致する最後の行を現在行に設定できます。re がどの行にも一致しない場合、ed は直ちに終了ステータス 1 で失敗します。ただし、オプション -l が指定され、標準入力が通常ファイルでない場合を除きます。
ed は次のオプションに対応しています。コマンドライン引数の構文を参照してください。
-h--helpオプションを説明するヘルプメッセージを表示して終了します。
-V--versioned のバージョン番号を標準出力に表示して終了します。すべてのバグ報告にこのバージョン番号を含めてください。
-E--extended-regexpPOSIX が規定する基本正規表現の代わりに拡張正規表現を使います。
-G--traditional後方互換性を強制します。これは ed のコマンド「G」「V」「f」「l」「m」「t」「!!」の動作に影響します。これらのコマンドの既定の動作が使い慣れたものと異なる場合は、このスイッチを付けて ed を起動してみてください。
-l--loose-exit-statusコマンドが「失敗」しても(たとえば置換コマンドが置換対象を見つけられなかった場合)、異常なステータスで終了しません。ed が crontab のエディターとして起動されるときなどに役立ちます。
-p string--prompt=stringコマンドプロンプトの文字列を指定し、プロンプト表示を有効にします。「P」コマンドでプロンプト文字列の表示をオンまたはオフに切り替えられます。
-q--quiet--silent標準エラーに書き込む診断メッセージを抑制します。
-r--restricted制限モードで実行します。このモードでは、現在のディレクトリ以外のファイルの編集とシェルコマンドの実行が無効になります。
-s--script「e」「E」「r」「w」「!」コマンドによるバイト数の表示と、「!」コマンド後の「!」プロンプトを抑制します。「Newline inserted」と「Newline appended」のメッセージも抑制します。このオプションは標準エラーに書き込む診断メッセージを抑制しません(上の -q を参照)。ed の標準入力がスクリプトから来る場合、-s が役立つことがあります。
-v--verboseヘルプモードを有効にし、「?」通知が出るたびに、その理由を説明するヘルプメッセージを表示します。「H」コマンドでオンまたはオフに切り替えられます。ed スクリプトのデバッグに使ってください。
--strip-trailing-crDOS ファイルのテキスト行の末尾から復帰文字を取り除きます。CR が取り除かれるのは、行を終える CR/LF(復帰/改行)の組だけです。改行で終わっていない行の末尾にある CR を含め、行内のほかの位置の CR は取り除かれません。バッファーをファイルに保存しても CR は復元されません。
--unsafe-namesed は、制御文字「\a」「\b」「\t」「\v」「\f」「\r」「\033」「\177」を含むファイル名を、このオプションで許可しない限り拒否します。ファイル名内の改行文字は、このオプションを指定しても拒否されます。
終了ステータスは、正常終了が 0、環境上の問題(無効なコマンドラインオプション、メモリー不足、コマンドの失敗など)が 1、入力ファイルの問題(ファイルが見つからない、バッファーが変更済み、I/O エラー)が 2、ed がパニックを起こす内部整合性エラー(バグなど)が 3 です。