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正規表現でエスケープする必要がある文字、でも。