• 締切済み

Cシェルで、全テーブル名をコンソールに、選んだ名称をCSVに出力

初めまして。質問があります。Cシェルはほぼ初心者なので、どなたかよろしければ教えて下さい。データベースの全マスタ名(全テーブルではなくマスタのみ。)と連番をコンソール上に出力し、入力させます。その連番の中からどれか希望のものを選択させ(番号を入力させる)、選ばれたものだけをCSVファイルに出力させる、というCシェルを早急に作らなければいけなくなりました。全マスタを抽出という処理からすでに苦闘しているところです。どなたかお願い申し上げます。

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

csh のスクリプトがどうこう、という問題ではないです。 (1) 全テーブルのテーブル名を抽出する方法 (2) 全てのテーブル名から、マスタだけを抽出する方法(テーブル名の規則とか) (3) 名前の一覧を連番を付けて表示する方法 (4) 数字を入力させて、それに対応する処理をさせる方法 (5) テーブル名を指定して、該当テーブルから CSV を生成する方法 csh スクリプトに関係しているのは、(3) と (4) だけで、あとは、使っているデータベースに よってやり方(というより、使うコマンド)が違ってきます。 で、csh スクリプトに関連する部分は、こういう感じ。 #!/usr/bin/csh set list = `マスタの一覧を取得するコマンド` set i = 1 foreach item ($list) echo $i $item @ i = $i + 1 end set num = $< # ↓本当は、ここに選択されたテーブル名を使った処理を書く echo $list[$num] # あえて、csh で書いてます(→後述) 仕事ですよね、多分。近くの知っている人に泣きついて、参考になるスクリプトを何か 見せてくれ、という方が早いでしょう。 因みに、ちょっと使えるシェルスクリプトを書くには csh は「不向き」と言われています。 それが分かるようになるまで、頑張れ!

関連するQ&A