テキストの追加と変更

スポンサーリンク

ここでは、aコマンド、iコマンド、cコマンドについて説明します。
また、行を削除する手段としてdコマンドについて説明します。

GNU sedでaコマンド等をコマンドライン上で利用する場合には少し注意が必要になります。

スポンサーリンク

行の後にテキストを追加

aコマンドは行の後にテキストを追加できます。
もう少し詳しく説明するとsedが行を取り込む前にそのテキストを標準出力するようにスケジューリングします。

aコマンドは

のように使うことができます。または、GNU拡張の代替構文として

があります。

append.sedを以下のように作成し、

append.sed

test.txtを用意し、

test.txt

これらのファイルを用いてsedコマンドを実行すると以下のようになります。

またはGNU拡張の構文を用いることで同様な結果を得る事もできます。

最後の行への追加

最後の行に追加したい場合は

とします。

行の手前にテキストの追加

iコマンドは行の手前にテキストを追加することができます。
別の言い方を行うと、テキストを標準出力する機能になります。

iコマンドは

のように使うことができます。または、GNU拡張の代替構文として

があります。

GNU拡張での例を以下に示します。

最初の行への追加

最初の行に追加したい場合は

とします。

行をテキストに変更

cコマンドは行をテキストに変更することができます。
もう少し詳しく説明するとパターンスペースを削除し、テキストを出力して、次のサイクルに移行します。

cコマンドは

のように使うことができます。または、GNU拡張の代替構文として

があります。

GNU拡張での例を以下に示します。

テキストの追加等のコマンドを利用するときの注意点

a,i,cコマンドはコマンドラインから用いる場合、

のような使い方はできません。

a,i,cコマンドを含む複数のコマンドを用いたい場合は-eオプションを複数回用います。

行の削除

dコマンドは行の削除のように利用できます。
もう少し詳しく説明するとパターンスペースを削除し、次のサイクルに移行します。