JWW専用掲示板
(現在 過去ログ81 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 発言ランク ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■17486 / inTopicNo.1)  awkでエラーがでてしまいます
  
□投稿者/ 123 1回-(2004/03/21(Sun) 12:56:52)

    記事内容:[|] 

    お世話になります。
    jww上の文字を拾って、さらにその文字の中の数値のみの合計を出す外部変形を作りたい
    のですが("これは123"と"これが456"をjww上で選択して"579"と返してくれる)、エラーが
    でてしまいます。

    =qqq.bat=

    〜省略〜
    :do1
    copy jwc_temp.txt test.txt > nul
    del jwc_temp.txt
    gawk -f ppp.awk test,txt %2 %3 %4 %5 %6 > 000.txt

    =ppp.awk=

    {
    gsub(",","\.")
    gsub(",","\.")
    if($1 ~/^(ch)/) a += substr($NF,match($NF,/[1-9]/))
    }
    END{
    printf "%6.3f",a
    }

    と書きました。
    すると

    gawk: ppp.awk:4:(FILENAME=test.txt FNR=25) fatal: cannot open file `1'for
    reading (NO such file or directory)

    といわれます。
    `1'って!?
    幼稚な問題なのでしょうが、私はどんな致命的な間違いをしているのですか?お恥ずかし
    ながらわかりません・・・見よう見まねで作っております・・・

    どなたかご教授いただけませんでしょうか
    宜しく御願いします。
引用返信/返信 [メール受信/OFF] 削除キー/
■17487 / inTopicNo.2)  Re[1]: awkでエラーがでてしまいます
□投稿者/ no 1回-(2004/03/21(Sun) 13:11:40)

    記事内容:[|] 

    実際のbatを貼り付けた物であるのなら

    >gawk -f ppp.awk test,txt %2 %3 %4 %5 %6 > 000.txt

    この行の「test,txt」がピリオドになっていない為にファイルがみつからないので
    は。

    gawk -f ppp.awk test.txt %2 %3 %4 %5 %6 > 000.txt

    で試してみて下さい。
引用返信/返信 [メール受信/OFF] 削除キー/
■17488 / inTopicNo.3)  Re[2]: awkでエラーがでてしまいます
□投稿者/ no 2回-(2004/03/21(Sun) 13:15:03)

    記事内容:[|] 

    ちなみに範囲内の合計は

    その他>表計算>範囲内合計で出ますが
    これとは別の話ですよね?

    御参考までに。
引用返信/返信 [メール受信/OFF] 削除キー/
■17489 / inTopicNo.4)  Re[3]: awkでエラーがでてしまいます
□投稿者/ 123 2回-(2004/03/21(Sun) 13:36:33)

    記事内容:[|] 

    早速の返信ありがとうございます。非常にありがたいです!

    私の誤記でした・・・!
    "."で実際は書いておりました・・・部分的に切り貼りで書き込みしなかった物ですか
    ら・・・おはずかしい・・・

    再度かくにんしてみましたが、やはりエラーでして。
    他に不審な点はありませんか?
    全体的に不審だらけかとはおもいますが・・・
    は〜・・・・
引用返信/返信 [メール受信/OFF] 削除キー/
■17490 / inTopicNo.5)  Re[3]: awkでエラーがでてしまいます
□投稿者/ 123 3回-(2004/03/21(Sun) 13:38:33)

    記事内容:[|] 

    No17488に返信(noさんの記事)
    > ちなみに範囲内の合計は
    >
    > その他>表計算>範囲内合計で出ますが
    > これとは別の話ですよね?
    >
    > 御参考までに。

    それとは別なのです。
    ありがとうございます!
引用返信/返信 [メール受信/OFF] 削除キー/
■17491 / inTopicNo.6)  Re[4]: awkでエラーがでてしまいます
□投稿者/ no 4回-(2004/03/21(Sun) 14:01:41)

    記事内容:[|] 

    FNRは、http://www.kt.rim.or.jp/~kbk/gawk/gawk_5.html#IDX64によりますと
    「現在入力を行っているファイルから読み込みを行ったレコードの数」
    らしいですね。
    この値が0でないと言うことはファイルが開けているような気もするのですが
    後半のメッセージではファイルが見つからないとも読めますね。

    awkは不得手なのですが、この辺りから探って行かれるのはどうでしょうか。

引用返信/返信 [メール受信/OFF] 削除キー/
■17493 / inTopicNo.7)  外変のバッチに REM #cd を追加していますか?
□投稿者/ N.Misumi 318回-(2004/03/21(Sun) 14:39:41)
https://www.aa.alpha-net.ne.jp/nmisumi

    記事内容:[|] 

    test.txt が見つからないエラーです.
    従って この外変のバッチファイルに REM #cd を追加してみてください.
    jwc_temp.txt を test.txt のコピーが実行されていないのではないでしょうか?
    pauseを追加することでエラーメッセージをみることができます.
    確認してみてください.

    @REM test
    @echo off
    REM #jww
    REM #h0
    REM #cd
    REM #e
    copy jwc_temp.txt test.txt > nul
    del jwc_temp.txt
    jgawk -f ppp.awk test.txt %2 %3 %4 %5 %6 > 000.txt
    goto END

    :END

引用返信/返信 [メール受信/OFF] 削除キー/
■17495 / inTopicNo.8)  Re[5]: awkでエラーがでてしまいます
□投稿者/ 123 5回-(2004/03/21(Sun) 15:15:29)

    記事内容:[|] 

    ご協力ありがとうございます。
    なにやら気になっていろいろ広げてみてみていたら、どんどん不審になっていってしまい
    ました(^^;)
    もう少し頑張ってみます。ありがとうございます!
引用返信/返信 [メール受信/OFF] 削除キー/
■17497 / inTopicNo.9)  Re[2]: 外変のバッチに REM #cd を追加していますか?
□投稿者/ 123 6回-(2004/03/21(Sun) 15:45:02)

    記事内容:[|] 

    お世話になります。

    実は先ほどnoさんから教えていただいたマニュアルで気になる事がありまして、
    =ppp.awk=

    {
    gsub(",","\.")
    gsub(",","\.")
    close("test.txt")    ←追加
    if($1 ~/^(ch)/) a += substr($NF,match($NF,/[1-9]/))
    }
    END{
    printf "%6.3f",a
    }

    のように一行追加してみたりしたところ、エラーがでなくなってしました。
    悪いことにこの一行を消しても、エラーがでなくなってしまったのです!!
    謎が深まってしまいました・・・
    いまいちcloseの使い方も間違ってるようにおもいますし・・・

    ご指摘いただいた #cdは追加しました。

    コマンドプロンプトというのでしょうか?そこで
    c:\jww>gawk -f ppp.awk test.txt
    と試してみると期待通りの数字が帰ってきます。
    なのにjww上で起動すると
    gawk: ppp.awk:4:(FILENAME=test.txt FNR=25) fatal: cannot open file `1'for
    reading (NO such file or directory)
    といわれてしまっていました。
    やはりbatの書き方に問題があったと考えてよいのでしょうか?

    なんともエラーがでなくなってしまったことで、憶測でしか話せなくなってしまいまし
    た・・・(;;)

引用返信/返信 [メール受信/OFF] 削除キー/
■17498 / inTopicNo.10)  close文の場所は
□投稿者/ N.Misumi 319回-(2004/03/21(Sun) 16:02:20)
https://www.aa.alpha-net.ne.jp/nmisumi

    記事内容:[|] 

    REM #cd を追加したことで JWC_TEMP.TXT を TEST.TXT にコピーがうまく動作
    したことでエラーはでなくなっています.

    >コマンドプロンプトというのでしょうか?そこで
    >c:\jww>gawk -f ppp.awk test.txt
    >と試してみると期待通りの数字が帰ってきます。
    >なのにjww上で起動すると
    >gawk: ppp.awk:4:(FILENAME=test.txt FNR=25) fatal: cannot open file
    >`1'for
    >reading (NO such file or directory)
    >といわれてしまっていました。

    test.txt はどのように作成して gawk を実行されましたか ?
    JWC_TEMP.TXT と同じ内容を TEST.TXT にコピーしていませんか ?

    ppp.batとppp.awk は JW_WIN.EXE と同じフォルダにある場合は REM #cd は
    必要ありません.

    closeの件ですが入れるとしたらENDのprint文の次がいいと思います.

    {
    gsub(",","\.")
    gsub(",","\.")
    if($1 ~/^(ch)/) a += substr($NF,match($NF,/[1-9]/))
    }
    END{
    printf "%6.3f",a
    close("test.txt")    ←追加
    }

引用返信/返信 [メール受信/OFF] 削除キー/
■17499 / inTopicNo.11)  Re[3]: 外変のバッチに REM #cd を追加していますか?
□投稿者/ 123 8回-(2004/03/21(Sun) 16:10:01)

    記事内容:[|] 

    なんと!
    またエラーがでてくれました。全く同じ内容でした。
    REM #cd
    を追加した物でもエラーが出てしまいました・・・
    test.txtはちゃんとコピーされているようです。
    ・・・・・・(;;)

    それと、次々で大変失礼な質問の仕方ですが、
    batで
    rem #hm |***|+++|000|
    のようにいくつかくっつけています。
    この***を実行した後、再実行で+++を選択するとだめになるようなのですが?
    なんて、変でしょうか・・・
    ***のあともう一度その他>外部変形として+++を実行するとエラーが出ないようなのです
    が?偶然でしょうか?

引用返信/返信 [メール受信/OFF] 削除キー/
■17500 / inTopicNo.12)  Re[4]: close文の場所は
□投稿者/ 123 9回-(2004/03/21(Sun) 16:14:51)

    記事内容:[|] 

    すみません。
    ぐずぐず返信内容を記入していたら[17499]、このお返事より後の送信になってしまいま
    した。

引用返信/返信 [メール受信/OFF] 削除キー/
■17501 / inTopicNo.13)  Re[1]: awkでエラーがでてしまいます
□投稿者/ k.k 1回-(2004/03/21(Sun) 16:19:18)

    記事内容:[|] 

    qqq.bat の内容を省略されているのでエラーの原因が判断しにくいですね。

引用返信/返信 [メール受信/OFF] 削除キー/
■17502 / inTopicNo.14)  Re[4]: close文の場所は
□投稿者/ 123 10回-(2004/03/21(Sun) 17:33:38)

    記事内容:[|] 


    > test.txt はどのように作成して gawk を実行されましたか ?
    > JWC_TEMP.TXT と同じ内容を TEST.TXT にコピーしていませんか ?

    もしやjwc_temp.txtとtest.txtの内容が同じだと不都合があるのでしょうか?

    :do1
    copy jwc_temp.txt test.txt > nul
    del jwc_temp.txt
    gawk -f ppp.awk test.txt %2 %3 %4 %5 %6 > 000.txt

    としています(;;)
    k.kさんの言うとおり省略してあっては判断しにくいのですね・・・
    スミマセン・・・
引用返信/返信 [メール受信/OFF] 削除キー/
■17507 / inTopicNo.15)  Re[5]: close文の場所は
□投稿者/ k.k 2回-(2004/03/21(Sun) 18:32:06)

    記事内容:[|] 

    No17502に返信(123さんの記事)
    > :do1
    > copy jwc_temp.txt test.txt > nul
    > del jwc_temp.txt
    > gawk -f ppp.awk test.txt %2 %3 %4 %5 %6 > 000.txt
    バッチファイルを提示していただけないので勝手に推測した事を書きます。
    1.jwc_temp.txt は jw_cad と外部変形プログラムとの中間ファイルなので
    削除するのは良いですが何らかの内容で作り直してください。
    2.%2 から %6 まで追加オプションを指定していますがスクリプトでキチン
    と受け取っていますか?
    また、オプションを受け取った後は ARGV の内容を開放してください。
引用返信/返信 [メール受信/OFF] 削除キー/
■17508 / inTopicNo.16)  Re[6]: close文の場所は
□投稿者/ 123 11回-(2004/03/21(Sun) 20:01:29)

    記事内容:[|] 

    大変失礼しました。

    @rem
    @echo off
    @cls
    goto do%1
    rem #jww
    rem #hc
    rem #cd
    rem #hm |1|2|3|

    rem #:1
    rem #mc
    rem #gc
    REM #h0
    REM #1ch文字クリック
    REM #6#ch文字クリック
    REM #e

    :do1
    copy jwc_temp.txt test.txt>nul
    del jwc_temp.txt
    gawk -f ppp.awk test.txt %2 %3 %4 %5 %6 > 000.txt
    goto END

    :END

    といった具合です。
    これで見ていただけますか?

    追加オプションを受け取っているか?
    ARGVの開放?
    ご教授ください。
    宜しく御願いします。
引用返信/返信 [メール受信/OFF] 削除キー/
■17510 / inTopicNo.17)  Re[7]: close文の場所は
□投稿者/ k.k 3回-(2004/03/21(Sun) 21:46:22)

    記事内容:[|] 

    No17508に返信(123さんの記事)
    > gawk -f ppp.awk test.txt %2 %3 %4 %5 %6 > 000.txt
    この %2 から %6 までを消してください。

    起動時オプションは JWW_SMPL.BAT の該当する部分を、
    オプションの受け取り方や ARGV は awk の参考書で
    調べれば載っています。
引用返信/返信 [メール受信/OFF] 削除キー/
■17511 / inTopicNo.18)  Re[1]: awkでエラーがでてしまいます
□投稿者/ 牛渡 1回-(2004/03/21(Sun) 22:46:29)
https://homepage2.nifty.com/ushiwatari/

    記事内容:[|] 

    こんにちは、
    このエラーの原因は、コマンドライン引数です。 awk の場合、コマンドライン
    引数を入力ファイルとして扱うようになっています。この場合、

    gawk -f ppp.awk test,txt %2 %3 %4 %5 %6 > 000.txt

    となっていますので、%2 から %6 までの変数の実体の中に、エラーメッセージ
    中の "1" が含まれています。 これの回避策は、 %2 から %6 までを、消すか、
    BEGIN ブロックで、この引数をクリアしてあげることです。

    BEGIN {
    for ( i = 2; i <=6; i ++ ){
       ARGV[i]= ""
    }
    }

    を ppp.awk の先頭に追加してください。
引用返信/返信 [メール受信/OFF] 削除キー/
■17512 / inTopicNo.19)  ありがとうございます。
□投稿者/ 123 12回-(2004/03/22(Mon) 00:23:12)

    記事内容:[|] 

    勉強不足は感じておりましたが、素人にはなかなか難しい物と感じています。
    いつも参考書片手に作成してはおりますが、このような場所で週末にもかかわらすすぐに
    ご教授いただけるというのは大変ありがたいことです。awkについては本屋さんで参考書
    を探してもなかなか少ないような気がします。いろいろ解説してくれているHPも参考にさ
    せていただき、どうにかここまで書いている具合です。
    皆様お手数おかけしまして、ありがとうございました。
    ご指摘の部分を削除して、作っていきたいと思います。



引用返信/返信 [メール受信/OFF] 削除キー/
■17552 / inTopicNo.20)  Re[2]: ありがとうございます。
□投稿者/ ko 8回-(2004/03/23(Tue) 14:01:57)
https://www.page.sannet.ne.jp/kiyoaki-oikawa/index.htm

    記事内容:[|] 

    jwwから外部変形を実行するとき、%1,%2等の因数が発生しないBatファイルの場

    (#c #f #k #i #hm 等が使われていない場合)
    前回実行した外部変形の因数を返して来ます

    その為、因数の発生しない外部変形で gawk のコマンドラインに%2 %3 等の記述が
    有ると
    前回実行した外部変形の因数が渡される為、ファイルが開けない といったエラー
    が出ます
    (gawk の後ろに書かれる文字列は -f 等のコマンドが無い場合 全て処理の対象と
    なるファイルネームとして扱われるので)
    #hm を使うと %1 の内容が選択したボタンの番号になり、因数がクリアされると思
    います
    多分これでエラーが出なくなったのではないでしょうか?

    話は変わりますが

    gsub(",","\.")
    gsub(",","\.")

    は何をしようとしているのでしょうか?

    awk のエスケープシーケンスに \. は無かったと思います
    また、カンマをピリオドに変えるのも妙ですが?

    単純にカンマを消す場合
    gsub([,,],"")
    で消せます、多分
    あと、全角数値も計算出来ませんので、半角に直す必要が有ると思います
    (ちょっと長いので省きます)

    if($1 ~/^(ch)/) a += substr($NF,match($NF,/[1-9]/))

    この場合文字列に半角スペースが含まれると、スペース以降の文字列が対象となり
    ます(例外みたいな物なので、気にしなくても良いかも)
    また、/[1-9]/ だと 0.1 みたいな、小数点以下の数値が正常に処理されません
    マイナス数値等の処理も、そのまま加算されちゃいます
    数値の後に文字が付随していたら 0 として処理されます

    {if($1 ~/^(ch)/){
    c=match($NF,/[0-9.-]+/)
    if( c > 0){
    a += substr($NF,c,RLENGTH)
    }
    }
    }

    でどうでしょう?

引用返信/返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 発言ランク ファイル一覧 検索 過去ログ

- Child Tree -