perlのスクリプトで以下のようなaa.txt

test1,3
test2,2
test3,20
というファイルが存在した際に
その.plを実行すると
sql文が作成出来るファイルを作成するには
どうしたら出来ますか?

test1は識別IDになってそのtest1の場合は
以下のSQLを3個時間を与えられた範囲内で
ランダムに作成。

結果 ※test1のだけをここに記述する。
INSERT INTO hogehoge ('ランダムなID','test1','2007-06-14')

INSERT INTO hogehoge ('ランダムなID','test1','2007-06-13')

INSERT INTO hogehoge ('ランダムなID','test1','2007-06-18')

範囲は2007-06-11から2007-06-18まで。
このようにaa.txtの中身を取得して
bb.txtにSQL文を出力するには
どうしたらいいでしょうか?

perlでなくてもよいです。

回答の条件
  • 1人5回まで
  • 登録:2007/06/18 19:41:00
  • 終了:2007/06/19 16:06:47

回答(1件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912007/06/18 20:51:03

ポイント60pt

Perl でなくとも良いということなので、VBS でやってみました。

Windows でなかったら、使えませんのでそのときは読み捨てください(開封ポイントはお返しします)。


ファイルを aa.txt のあるフォルダへ適当な名前(拡張子は .vbs)で保存して、実行(ダブルクリック)してみてください。

Option Explicit

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Dim outFile
'---  出力ファイル ---
Set outFile = fso.CreateTextFile( "bb.txt" )

'---  乱数の初期化 ---
Randomize

'---  入力ファイル ---
Dim line
For Each line In Split( fso.OpenTextFile( "aa.txt" ).ReadAll, vbNewLine )
    Dim wordArray
    wordArray = Split( line, "," )
    If UBound( wordArray ) = 1 Then
        Dim i
        For i=1 To wordArray(1)
            outFile.WriteLine "INSERT INTO hogehoge('" & getRandID() & "','" & wordArray(0) & "','" & getRandDate() & "')"
        Next
    End If
Next

'---------------------------------------------
Function getRandID()
'---------------------------------------------
' とりあえず乱数で作成
'---------------------------------------------
    getRandID = Right("00000000" & CLng( Rnd() * 100000000 ), 8 )
End Function

'---------------------------------------------
Function getRandDate()
'---------------------------------------------
' とりあえず乱数で作成
'---------------------------------------------
    getRandDate = "2007-06-" & 11 + CInt( Rnd() * 100 ) Mod 8
End Function

不明な点は、コメントでも回答いたします。

id:hopefully

すいません。linux環境です。。。

2007/06/19 09:55:24

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません