パスに多くの追加文字を持つsedを使用するには? [コピー]

パスに多くの追加文字を持つsedを使用するには? [コピー]

sed以下の括弧内の例の行全体を変更できますか?/置き換えたい実際の行に他の特殊文字がたくさんあるため、使用する区切り文字を見つけるのが難しいようです。

交換する必要があるライン:

私が使用したい実際の線は目にあまり慣れていないので、これはランダムな例です。

[...]
<example>=(a,b,c);{!@#$%^&*?/};</example>
[...]

これに適したツールがあれば教えてください。どんな助けでも大変感謝します。

答え1

変えたいならみんなOK、同様の方法で簡単な解決策を使用できますこの回答

これはあなたのラインです:

<example>=(a,b,c);{!@#$%^&*?/};</example>

回避策は、ファイルの残りの部分よりも先にこの行を印刷してから、Sedを使用して最初の行と正確に一致する行を変更することです。

{ printf '%s\n' '<example>=(a,b,c);{!@#$%^&*?/};</example>'; cat somefile;} |
  sed -e '1h;1d;G;s/^\(.*\)\n\1$/text to change to/;t' -e 's/\n.*$//'

しかし - 学ばなければならないSed正規表現でエスケープする必要がある文字、でも。

関連情報