「ED」の意味や使い方 わかりやすく解説 Weblio辞書 (original) (raw)
![]() |
このページの名前に関して「ed (テキストエディタ)」への改名が提案されています。議論はノート:EDを参照してください。(2020年9月) |
---|
![]() |
この項目では、テキストエディタについて説明しています。ED、Ed、edの他の用法については「ED」をご覧ください。 |
---|
ed(イーディー)は、UNIXオペレーティングシステム上の標準的なテキストエディタである。オリジナルの作者はケン・トンプソンで、世界初の正規表現の実装のひとつでもある(それ以前には正規表現は数学の論文に出ていただけであった)。edはケン・トンプソンの出身校であるカリフォルニア大学バークレー校のQEDから影響を受け、その後ex(英語版)およびそこから派生したviに影響を及ぼした。UNIXコマンドgrepとsedはedのよく使われる使い方に影響されており(例えば使用例の置換コマンドはsedの使用法にそっくりである)、これらの影響はプログラミング言語AWKの中にもよく見て取れる。
目次
概要
edはその簡潔さで有名で、結果を表示するということがほとんどない。例えば、edがエラー検出時やセーブせずに終了してよいか確認するときに生成するメッセージは単に"?"である。現在のファイル名や行番号は表示されず、要求されない限りテキストに変更を加えた結果すら表示しない。このような簡潔さは初期のUNIXにとっては適切であった。というのも、コンソールはテレタイプ端末だったし、モデムは低速で、ハードディスクやメモリは高価だったからである。その処理の遅さは、文書の文字が表示される過程が見える程である。技術進歩によってこれらの制約がなくなるにつれて、より視覚的なエディタが標準となっていった。
最近ではedを対話的に使用することは滅多に無いが、シェルスクリプトで使われることはある。対話的使用に関しては、1980年代にsam、vi、Emacsに取って代わられた。edは事実上全てのバージョンのUNIXとLinuxに装備されており、様々なバージョンのUNIXで作業する人にとっては便利である。問題が発生したとき、edは使用可能な唯一のエディタである場合もある。そのような場合に限ってedは対話的に使用される。
edのコマンド群は他のラインエディタで模倣されている。例えば初期のMS-DOSのEDLINは似たような文法を採用しているし、多くのMUD(LPMudなど)のテキストエディタもed風の文法を採用している。しかし、これらのエディタはedよりも一般に機能が限定されている。
2008年8月23日、GNUプロジェクトの開発によるedがバージョン1.0を迎えた[1]。
使用例
以下に ed を使用した例を示す。
a ed is the standard Unix text editor. This is line number two. . 2i . 1,$l ed is the standard Unix text editor.$ $ This is line number two.$ 3s/two/three/ 1,$l ed is the standard Unix text editor.$ $ This is line number three.$ w text 65 q
以上の結果として作成されるテキストファイルの内容は次の通りである。
ed is the standard Unix text editor. This is line number three.
空ファイルの状態で開始し、a コマンド(ed のコマンドは全て1文字)でテキストの追加(append)を行う。これにより ed は入力状態(input mode)となり、その後の入力文字列をファイルに追加していき、1つのドットだけからなる行を入力することで終了となる。この例ではドットで入力を終了するまでに2行のテキストが入力された。2i コマンドも入力状態に移行するコマンドであり、2行目の前にテキストを挿入する(この例では空行を入力)。コマンドには数値を前につけることができ、操作するテキストの行番号を指定する。
1,$l の l はリスト(List)コマンドである。このコマンドは範囲指定が前に付けられており、二つの行番号をカンマで区切って指定する(_$_ は最終行を意味する)。このコマンドを入力するとこれまでの入力内容が全て表示される。各行はドルマークで終わっており、各行末に空白が存在しても即座にわかるようになっている。
3行目の間違いは、置換(substitution)コマンド 3s/two/three/ で訂正できる。ここで 3 は訂正する行を示し、コマンドの後には置換元の文字列と置換先の文字列を指定する。再度全体を表示するために 1,$l を使用すると、内容が修正されている。
w text はバッファの内容を "text" というファイルに書き込み、書き込んだ文字数を示す 65 という表示を出力する。q は ed の使用を終了する。
ビル・ジョイと vi と ed
エディタ戦争において、Emacs信奉者は「ビル・ジョイすら、もうviを使っていない」と言った。1984年のインタビュー[2]において、ビル・ジョイはこのことについて説明している。そこで彼はサン・マイクロシステムズ内では初期のDTPソフトInterleafを使い、サン以外の場所を訪れたときには古いedを使っていたと述べている。viはほとんどどこにでもあったが、それら(独自に修正が加えられた)ローカルバージョンのviは彼にとって期待通りに動くと信頼できなかったのである。一方でedは修正が加えられたことがないので思った通り動作することが期待できた。そこで彼は(しぶしぶながら)viを使わずにedを使ったというわけである。
脚注・出典
- ^ “15年の熟成を経て「GNU ed」がv1.0に” (2008年8月23日). 2008年8月25日閲覧。
- ^ “Interview with Bill Joy” (1984年8月). 2012年2月10日時点のオリジナル[_リンク切れ_]よりアーカイブ。2013年3月22日閲覧。
参考文献
- Brian W. Kerninghan; Rob Pike (1985-10). 石田晴久監訳. ed. UNIXプログラミング環境. 海外ブックス. アスキー. ISBN 4-87148-351-7
- 塚越一雄『標準エディタed チュートリアル&リファレンス・ブック』ナツメ社〈パーソナルUNIXシリーズ 1〉、1992年5月。ISBN 4-8163-1394-X。
関連項目
ポータル FLOSS |
---|
外部リンク
- GNU ed homepage(英語)
- Unix Editors I(英語)
- ed Humor(英語)
- Manpages of ED JM Project (日本語)
- ed(1) man page(SunOS リファレンスマニュアル)
- ed(1) man page(HP-UX リファレンス)
- quiz(6) function ed-command の日本語訳
ed(1) 好きなあなたに 53 の質問
表話編歴テキストエディタ | |
---|---|
その他 | EDLIN QED VZ Editor |
クロスプラットフォーム | Ace(英語版) Atom Brackets Emacs (GNU Emacs) ed gedit Geany jEdit Kate KEdit Komodo Edit(英語版) KWrite Leafpad Light Table(英語版) nano nvi MinEd SciTE Scintilla Scribes sed Sublime Text Text Editor and Corrector UltraEdit(英語版) vi Vim Visual Studio Code |
Windows用のみ | Aprotool TM Editor Apsaly Dana EmEditor J-cref K2Editor gPad MIFES Meadow Mery Notepad2 Notepad++ oedit PerlEditor Space Editor TeraPad TextPad UnEditor Peggy QXエディタ ViVi WZ EDITOR xyzzy サクラエディタ 秀丸エディタ メモ帳 |
Mac OS/macOS用のみ | Aquamacs BBEdit - TextWrangler(英語版) CotEditor Jedit mi iText SimpleText Tex-Edit Plus TextMate(英語版) VimR WriteRoom(英語版) テキストエディット |
![]() ![]() |
表話編歴Unixコマンド | |
---|---|
ファイルとファイルシステム管理 | cat chmod chown chgrp cksum cmp cp dd du df(英語版) file fsck fuser(英語版) ln ls lsof mkdir mount mv pax pwd rm rmdir size split tee touch type(英語版) umask(英語版) |
プロセス管理 | at bg chroot cron fg kill killall nice pgrep pidof pkill ps pstree(英語版) reboot shutdown time top |
ユーザ管理/環境 | clear env exit(英語版) finger history(英語版) id logname(英語版) mesg(英語版) passwd su sudo uptime talk tput(英語版) uname w wall(英語版) who whoami write |
テキスト処理 | awk banner basename comm(英語版) csplit(英語版) cut diff dirname ed ex(英語版) fmt fold(英語版) head iconv join(英語版) less more nkf nl(英語版) paste printf sed sort spell(英語版) strings tail tr uniq vi wc xargs yes |
シェルビルトイン | alias cd echo test(英語版) unset wait |
通信 | dig host(英語版) ifconfig inetd ip (iproute2) netcat netstat nslookup ping rdate(英語版) rlogin route ssh traceroute |
検索 | find grep locate(英語版) whatis(英語版) whereis(英語版) |
マニュアル | apropos(英語版) help(英語版) man |
その他 | bc dc(英語版) cal date expr false lp(英語版) lpr(英語版) od(英語版) sl sleep stty true tty |
Category:UNIXのソフトウェア UNIXユーティリティの一覧 |
表話編歴ケン・トンプソン | |
---|---|
オペレーティングシステム | UNIX Plan 9 from Bell Labs |
プログラミング言語 | B言語 Bon Go |
ソフトウェア | Belle(英語版) ed grep Sam(英語版) Space Travel(英語版) Thompson Shell |
その他 | UTF-8 |