私は次のことをしようとします:
sed -i.bak '/^startswith/ s/$/endswith/' /path/to/file
しかし、ただ以下を行う行の場合いいえすでに「endswith」という文字列で終わりました。
つまり、いくつかのテキストで始まり、次のことを行う行を探したいと思います。いいえ別のテキストで終わり、行の末尾に必要なテキストを追加します。
私が現在言及している他の部分文字列が存在しない場合にのみ、部分文字列を検索して置き換えます。マニュアルページもsed
ありますが、私が正しい道を行っているかどうかはわかりません。
ベストアンサー1
次の方法が有効です。
sed -i.bak '/endswith/b; /^startswith/ s/$/endswith/' /path/to/file
しかし、これが最も効率的なソリューションであるかどうかはわかりません。