こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

続いて質問させていただきます(汗
現在運用中のオラクルで、スキーマー作成時にスクリプトを走らせています。
しかし、スクリプトを走らせるたびにファイルの文字列の一部を編集しないといけません。
その文字列というのが、「SQNO」という項目で、まずオラクルからselectでデータ取得し、その後に文字列置き換えという順番になるのですが。。順序的には

1.オラクル上で「select コマンド」でデータ取得(例えばSQNO=107なら、107を取得)
2.その数値を変数'a'に代入(?)
3.aaa.sqlの該当場所の'b'を'a'に置き換え
4.スクリプト起動

という順番です。
方法論が全く分かりません。
一部の情報でも結構ですので
よろしくお願いします。

投稿日時 - 2003-01-21 23:04:48

QNo.451728

暇なときに回答ください

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

オラクルは使ったことがないのでわかりませんが、
いつも特定の箇所の文字列だけを置き換えるだけでしたら、
テンプレートを用意しておき、sedで置換すればよいのではないでしょうか。

kakikawaru_data=_MOJIRETU_
とかいう風に、置換される文字列の部分を _MOJIRETU_ とか書いておいたテンプレートファイル aaa.sql.tpl を用意しておいて、
shellスクリプトで
sed s/_MOJIRETU_/`selectコマンド`/g aaa.sql.tpl > aaa.sql
のように書いておいて、毎回 aaa.sql を生成します。

ただ、実行ごとに書きかえる箇所が変わるような場合は、
この方法では具合が悪いですね。

投稿日時 - 2003-01-21 23:23:22

お礼

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

投稿日時 - 2003-01-24 01:09:58

あなたにオススメの質問