sedを使用して文字を含む行を変数に格納されているテキストに置き換えるには?

sedを使用して文字を含む行を変数に格納されているテキストに置き換えるには?

次のテキストを含むファイルentry.txtがあります。

$ cat entry.txt 
>Main entry
This is some text to try
how to substitute the first
line of the text.

>文字を検索して最初の行を置き換え、変数に保存されているいくつかのテキストを追加したいと思います。

$ var=TITLE
$ sed -i "s/>*/$var/" entry.txt 
$ cat entry.txt 
TITLEMain entry
TITLEThis is some text to try
TITLEhow to substitute the first
TITLEline of the text.

どうやってできるか

  1. >>含まれており、分離されていない行全体を置き換えます。

  2. 最初の行だけを変更し、他の行を変更しますか?

ありがとうございます。

ベストアンサー1

パターンは^>.*()で始まる行のみを一致し、その行()の他のすべての項目と一致する必要があります。だから:>^>.*

sed -i "s/^>.*/$var/" entry.txt

おすすめ記事