• 締切済み

shellでファイルを編集する方法

続いて質問させていただきます(汗 現在運用中のオラクルで、スキーマー作成時にスクリプトを走らせています。 しかし、スクリプトを走らせるたびにファイルの文字列の一部を編集しないといけません。 その文字列というのが、「SQNO」という項目で、まずオラクルからselectでデータ取得し、その後に文字列置き換えという順番になるのですが。。順序的には 1.オラクル上で「select コマンド」でデータ取得(例えばSQNO=107なら、107を取得) 2.その数値を変数'a'に代入(?) 3.aaa.sqlの該当場所の'b'を'a'に置き換え 4.スクリプト起動 という順番です。 方法論が全く分かりません。 一部の情報でも結構ですので よろしくお願いします。

みんなの回答

  • k-841
  • ベストアンサー率27% (129/465)
回答No.1

オラクルは使ったことがないのでわかりませんが、 いつも特定の箇所の文字列だけを置き換えるだけでしたら、 テンプレートを用意しておき、sedで置換すればよいのではないでしょうか。 kakikawaru_data=_MOJIRETU_ とかいう風に、置換される文字列の部分を _MOJIRETU_ とか書いておいたテンプレートファイル aaa.sql.tpl を用意しておいて、 shellスクリプトで sed s/_MOJIRETU_/`selectコマンド`/g aaa.sql.tpl > aaa.sql のように書いておいて、毎回 aaa.sql を生成します。 ただ、実行ごとに書きかえる箇所が変わるような場合は、 この方法では具合が悪いですね。

goodtreasure
質問者

お礼

ありがとうございました!やってみます。