dポイントプレゼントキャンペーン実施中!

ヤマトです。

cshでファイル文字列を置換したいのですが、分かりません。
環境はRed Had Linux7.2です。

hoge1.txt の中の 'HIDUKE' という文字列を今日の日付に置換し、
hoge2.txt に出力するようなシェルを作りましたが、正常に動作しません。

====hoge1.txt(置換前)====
今日はHIDUKEです。

====hoge1.txt(置換前)====
今日は030814です。

====SAMPLE.sh(一部抜粋)====
set TODAY = `date +"%y%m%d"`
sed 's/HIDUKE/$TODAY/g' < hoge1.txt > hoge2.txt

以上のようなシェルを作りました。
結果として、hoge2.txtには出力されるのですが、
「今日は$TODAYです」
となってしまいます。

変数の値を置換するにはどのようにしたら良いのでしょうか?
教えて頂けると有り難く思います。宜しくお願いします。

A 回答 (1件)

こんにちは。

引用符をシングルクォート(')ではなくダブルクォート(")
にすれば変数置換が有効になります。

>sed 's/HIDUKE/$TODAY/g'
の部分を
sed "s/HIDUKE/$TODAY/g"
に変更してください。
    • good
    • 0
この回答へのお礼

nightowlさん
有難う御座います。
できました。
助かりました。

お礼日時:2003/08/14 15:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!