ed
行指向テキストエディター
起動方法
ed file
機能
行単位で編集するテキストエディターである。
UNIXの最初のバージョンから提供されている非常に古いエディターである。
行単位で編集するので使いにくいが、viさえ使えないような非常事態などに役に立つ。
また、edのコマンドはviのexモードでのコマンドと同じものが多いので覚えておいて損は無い。
コマンド
- (指定行)a
- 指定行の後ろに文字列を追加
- (指定行1,指定行2)c
- 指定行1から指定行2の文字列を変更
- (指定行1,指定行2)d
- 指定行1から指定行2の文字列を削除
- (指定行1,指定行2)g/正規表現/コマンド
- 指定行1から指定行2の正規表現に一致する行に対してコマンドを実行
- (指定行)i
- 指定行の前に文字列を追加
- (指定行1,指定行2)j
- 指定行1から指定行2までを1行に連結
- (指定行)k文字
- 指定行に文字で表されるマークを付ける
- (指定行1,指定行2)m(指定行3)
- 指定行1から指定行2の行を指定行3の下に移動(指定行3は0も指定できる)
- (指定行1,指定行2)n
- 指定行1から指定行2までを行番号付で表示
- (指定行1,指定行2)p
- 指定行1から指定行2までを表示
- q
- 終了
- Q
- 強制終了(それまでの編集内容は捨てられる)
- (指定行)r ファイル
- 指定行の下にファイルを読み込む(ファイルを省略すると編集中のファイルを読み込む)
- (指定行)r !外部コマンド
- 指定行の下に外部コマンドの結果を書き込む
- (指定行1,指定行2)s/正規表現/変換文字列/
- 指定行1から指定行2の正規表現に一致する最初の文字列を変換文字列に変換
- (指定行1,指定行2)s/正規表現/変換文字列/g
- 指定行1から指定行2の正規表現に一致する全ての文字列を変換文字列に変換
- (指定行1,指定行2)s/正規表現/変換文字列/数値
- 指定行1から指定行2の正規表現に一致する数値番目の文字列を変換文字列に変換
- (指定行1,指定行2)t(指定行3)
- 指定行1から指定行2の行を指定行3の下にコピー(指定行3は0も指定できる)
- (指定行1,指定行2)v/正規表現/コマンド
- 指定行1から指定行2の正規表現に一致しない行に対してコマンドを実行
- (指定行1,指定行2)w ファイル
- 指定行1から指定行2のファイルに書き込む(ファイルを省略すると編集中のファイルを書き込む)
- =
- 編集中のファイルの行数を表示
- !外部コマンド
- 外部コマンドを実行(コマンド中のエスケープされない%は現在編集中のファイル名になる)
指定範囲
- 数字
- 行番号
- +数字
- 現在の行 + 数字行目
- -数字
- 現在の行 - 数字行目
- $
- 最期の行
- $-数字
- 最期の行 - 数字行目
- .
- 現在の行
- %
- すべての行
- ,
- すべての行
- ;
- 現在の行から最期の行まで
- /正規表現/
- 正規表現で表される行
- '文字
- 文字で表されるマークのある行
使用例
# ed test.c
31
1,$p
main()
{
printf("hello\n");
}
3
printf("hello\n");
s/hello/bye/
.
printf("bye\n");
w
q
#
Home | Contents
Mail