sedを使用して変数の内容を含む行を検索して置き換える方法は?

sedを使用して変数の内容を含む行を検索して置き換える方法は?

sedを使用してテキストファイルの特定の行の一部を編集し、変更を元のファイルに保存しようとしています。さて、これはsedが直接動作する方法ではないことを理解しています。しかし、スクリプトでsedを使用して変数の内容を含む行の一部を編集するにはどうすればよいですか?私はsedを使用して行全体を変更するか、行をトリガーとして使用して新しいファイルを切り取り、挿入しました。しかし、これは異なります:)私の考えは私が必要なものです

sed '/baz/s/foo/bar/g'

sed '/beginning of line/s/static text/new static text/g'

これは正しい出力を提供しますが、ソースファイルにどのように保存しますか? sedがStoudに出力することを知っていますが、">> outpufile"を追加するとエラーメッセージが表示されます。

sed: -e Ausdruck #1, Zeichen 55: Unbekannte Option für `s'

静的テキストと新しい静的テキストの間には時々変更される内容があるため

sed -n '/static text/new static text/,$p' tmp >> source

ソースコンテンツが変更されていない場合にのみ有効です。

どんな提案がありますか?

グレッツ

ベストアンサー1

micha@linux-micha: /tmp
$ echo 'alpha bravo charlie' > blah.txt

micha@linux-micha: /tmp
$ cat blah.txt
alpha bravo charlie

micha@linux-micha: /tmp
$ sed -i 's/bravo/delta/' blah.txt

micha@linux-micha: /tmp
$ cat blah.txt
alpha delta charlie

おすすめ記事