シェルは最後の一致後に文字列を追加します。

シェルは最後の一致後に文字列を追加します。

最後の一致の後に文字列を挿入したいと思います。たとえば、次のようになります。

バナナの最後のインスタンスの後に挿入する文字列:オレンジ色

入力する

Apple
Banana
Apple
Banana

出力

Apple
Banana
Apple
Banana
Orange

XMLタグを使用してこれを実行しようとしています。開くタグを追加する方法を見つけました。

ベストアンサー1

短く簡単にすること正確に質問された内容:

printf '%s\n' '0?Banana?a' Orange . x | ex file.txt

変更をすぐに保存するのではなく、ファイルに何が保存されているかを確認するには、次のようにします。

printf '%s\n' '0?Banana?a' Orange . %p | ex file.txt

これがすること:

ファイルの先頭から0検索()戻る?regex?)は、「Banana」の次のインスタンス(囲み)を表し、a「Orange」行を追加します()。期間が終了したら、追加、保存、x終了します。

おすすめ記事