※ ChatGPTを利用し、要約された質問です(原文:ブランクを含む環境変数の置換)
ブランクを含む環境変数の置換
このQ&Aのポイント
UNIX上で環境変数を使用したファイルの置換シェルを作成中ですが、ブランクが含まれる場合の処理についてアドバイスを求めます。
環境変数$FYがブランクを含まない場合は、sedコマンドを使用して目的の文字列を置換できますが、ブランクが含まれる場合は正しく置換されません。
ブランクを含む場合の置換方法について、効果的な解決策をお教えください。
こんにちは。
今、UNIX上でファイルのある文字をある環境変数で置換するようなシェルを作成中です。
そこで、以下のようにsedを使用してみました。
cat AAA.txt |sed s/CurFY/`echo $FY`/g
AAA.txtの内容
AAA
BBB
CurFY
この時、環境変数$FYがブランクを含まない値の場合
はうまくCurFYを$FYの値に変更できるのですが、$FYに
ブランクが入っていた場合は実行できません。
実行例)
setenv FY "ACT 2003"
cat AAA.txt |sed s/CurFY/`echo $FY`/g
sed: コマンドが正しくありません: s/CurFY/ACT
となってしまいます。
何かうまい方法はないでしょうか?
どうかアドバイスお願いいたします。
お礼
あ゛っ・・・。 うまくいきました。 ありがとうございました。