
Ubuntu日本語フォーラム

ログインしていません。
HTMLファイルでルビをふるのに、<RUBY>タグを用いずに、
<SMALL>(ルビ)</SMALL>
と記載する事にしました。
まず(を<SMALL>(に置換するのに、
sed -e "s/(/(<SMALL>/g" ファイル名.html
で成功したのですが、次に)を)</SMALL>に変換するのに、
</SMALL>の/をどう処理してよいのか分かりません。
アドバイスをいただけると助かります。
よろしくお願い致します。
オフライン
質問の追加です。
sed -e "s/(/(<SMALL>/g" ファイル名.html > ファイル名.html
では、変換内容が保存されません。
保存の方法も教えていただきたいと思います。
基本的な事かもしれませんが、よろしくお願いします。
オフライン
変換の保存方法ですが、
sed -e "s/(/(<SMALL>/g" ファイル名1.html > ファイル名2.html
で解決しました。
お騒がせしました。
オフライン
sed の 置換コマンドは s の直後の文字を区切り文字としているだけなので、必ずしも / を使わなくてはならないことはありません
たとえば echo "a/b/c" | sed -e "s#/#=#" とすれば a=b=c という結果が得られます
これは置換コマンドの s の直後にある # が区切り文字になり、/ を = に置換するという意味になります
また、特殊な意味を持っている文字の前に \ (表示フォントによって、円マークかバック スラッシュ) をつけることでその意味を無効にすることもできます
たとえば echo "a/b/c" | sed -e "s/\//=/" とすれば a=b=c という結果が得られます
これは区切り文字という特別な意味を持つ / の前に \ をつけてその意味を無効にしています
オフライン
ry様、アドバイスありがとうございます。
sed -e "s#)#)</SMALL>#g" ファイル名1.html > ファイル名2.html
で、置換に成功しました。
echoからデータを渡す方法や、\の無効化も示していただき、勉強に成りました。
オフライン