GNU ed
コマンドはラインエディタです。これは、Unixの最初のテキストエディタであり、すべてのPOSIXシステムで使用可能であった(そして一般的には現在も使用可能である)ため、標準のUnixテキストエディタと見なされています。いくつかの点で、それが最初であったことは簡単にわかります。なぜなら、多くの点で、それは非常に初歩的なものだからです。他のほとんどのテキストエディタとは異なり、独自のウィンドウや画面では開きません。実際、デフォルトでは、ユーザーに入力を求めることすらありません。一方で、インターフェースがほとんどないことも強みになる可能性があります。これは、インタラクティブに、またはスクリプトを介して短い指示で制御できる機能的なエディターです。
edのインストール
LinuxまたはBSDを実行している場合は、おそらくすでにed
インストール済み(GNU ed
LinuxおよびBSDではed
BSDで)。ただし、一部の最小限の環境では、ed
を省略しています。 、ただし、おそらくディストリビューションのソフトウェアリポジトリまたはポートツリーから入手できます。 MacOSにはBSDed
が付属しています インストールされています。
ed
を起動すると 、プロンプトを失ったようです。おそらくed
失速しました。ありません。指示を待っているだけです:
$ ed
ed
に伝えるには もう少し冗長にするために、p
でプロンプトを返すように命令できます。 コマンド:
$ ed
p
?
疑問符(?
)はデフォルトのed
プロンプト。
バッファ
ed
の間 アクティブな場合は、バッファと呼ばれるものを使用します 。バッファはメモリ内の場所です。ファイルを直接編集しているのではありません。バッファを編集しているだけです。 ed
を終了する必要があります ディスク上のファイルに変更を書き込まないと、バッファ内でのみ発生したため、すべての変更が失われます。 (これは、最初のスクラッチバッファーに慣れている経験豊富なEmacsユーザーにはおなじみのように聞こえるかもしれません。)
edでテキストを書く
ed
を起動した後 、コマンドモードになっています。これは、空のスペースの代わりにプロンプトを表示するようにエディターを設定する場合など、エディター自体にコマンドを発行できることを意味します。 a
を使用して、現在のバッファにテキストを追加できます コマンド。これは、孤立したドット(.
)で終了します。 )独自の行で。たとえば、この例では、バッファに2行(「helloworld」と「helloed」)を追加します。
?
a
hello world
hello ed
.
ドットを終了すると、コマンドモードに戻ります。
バッファに何が含まれているかを確認するには、表示する行を入力するか、,p
を入力します。 すべての行を表示します。
?
1
hello world
2
hello ed
,p
hello world
hello ed
テキストに満足している場合は、w
を使用してバッファをファイルに書き込むことができます。 コマンドの後に宛先ファイルの名前を続けます。
?
w example.txt
19
書き込み後の数字は、ファイルに書き込まれた文字数を示します。
ed
を使用する必要はありません テキスト入力用。 r
を使用して、既存のファイルをバッファに開くこともできます。 コマンド:
?
r myfile.txt
または、ed
を起動することもできます バッファにロードするファイル名が続きます:
$ ed myfile.txt
ed
アプリケーションはテキストエディタであるため、特別な編集構文を使用してバッファ内のテキストに影響を与えることができます。 sed
のユーザー またはvim
その構文のいくつかはおなじみかもしれません。バッファにファイルがロードされていると仮定します:
$ ed myfile.txt
,p
This is an example document.
There is some text, but not much.
There is some errors, but not much.
最初の文の「document」という単語を「file」に変更するには、ターゲットにする行を選択し(1)、s
を使用して検索機能を呼び出します。 その後に検索用語と置換用語が続きます:
?
1
This is an example document.
s/document/file/
1
This is an example file.
別の回線をターゲットにする場合、プロセスは基本的に同じですが、番号が異なります:
?
3
There is some errors, but not much.
s/is/are/
s/much/many/
,p
を使用して、バッファに対して行った編集を確認できます。 いつものようにコマンドします。
This is an example file.
There is some text, but not much.
There are some errors, but not many.
もちろん、これらの変更はバッファにのみ存在します。 ed
の外部のファイルを確認しましたか 、元のテキストのみが表示されます:
$ cat myfile.txt
This is an example document.
There is some text, but not much.
There is some errors, but not much.
変更をファイルに保存し直すには、w
を使用します コマンド:
w myfile.txt
258
新しいドキュメントを開始するか、新しいドキュメントを新しい環境にロードできるように新しいバッファを取得するには、c
を使用します 指図。 c
を発行した後 バッファをクリアするために、バッファが空になっているため、printコマンドは何も返しません:
c
,p
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
ed
を終了するには セッションでは、q
を使用します 指図。これではバッファを保存する機会がないため、このコマンドを使用する前に必ず保存してください。
ed
はもっとたくさんあります できること、そしてed
を学ぶ sed
についての優れた洞察を得ることができます およびvim
の一部 仕事。この記事をed
で書くことはしませんでした 、確かに、それが一般的なテキスト入力に最適なツールかどうかはわかりません。ただし、ed
はテキストの優れたエディターであり、ドキュメントを読むことで簡単に学ぶことができます。 GNUシステムでは、info ed
を使用します マニュアルを表示するには。