|
No.1428の修正です 申し訳ありません、サンプルファイルのスペースがおかしく なってました再送させていただきます。 <Input File1>____<Input File2>____<<Output File>> X01________________X01________________X025 X02________________X02________________X03 X03________________X025_______________X04 X04________________X07________________X05 X05________________X08________________X06 X06________________X099_______________X099 X07___________________________________X09 X08___________________________________X10 X09 X10 Input File1の文字列と Input File2の文字列の比較をします 結果としてOutputFileの出力を得たいのですが... 条件(雑でスミマセン) InputFile1の文字列が InputFile2の各文字列と一致する=出力しない InputFile1の文字列が InputFile2の各文字列と一致しない=出力する このケースでは InputFile1だけに存在する文字列 InputFile2だけに存在する文字列 がありますが InputFile2内の文字列を優先し... 以下例文です InputFile1の”X02"を比較するとき InputFile2”X02” は一致している => 出力しない 次のInputFile1の文字列”X03”を比較するとInputFile2の” 次行”である”X025"は一致していない (※) => 025 X03 の様にInputFile2の文字列”X025"を出力後InputFile1の”X03”を出力 InPutFile1の”X04 - X06"はInputFile2に含まれない =>そのまま出力 "X07 - X08"は双方含まれるので出力しない X09 の処理は(※)と同様に =>X099 X09 の順で出力します(数としての比較ではありません) X10はInputFile2に含まれない =>そのまま出力 (AWK本も2冊買い込み(良い参照本があったら紹介願います)さらに同種質問の過去ログ”No. 1342”を参考(goo の"awk"検索でやっとこのHPにたどり着きました...)に考えてみたのですがどうしてもうまく作成出来ませんでした、AWK使いの方々:どうぞ宜しくお願いいたします) |
|
そもそも > ヘルスチェック という言葉を初めて聞いたのですが (health check?)、文脈 からして正しく通信ができているかどうか調べ、一定時間 正常な反応がないならエラーにするという意味でいいですか? 目的にもよりますが、 1. サーバマシンが生きていて、network reachable かどうかを 調べるなら定期的に ping を打つ 2. TCP スタックが生きていることがわかればいいなら、定期的に echo サーバに接続。 3. サーバソフトウェアが生きていることを確認するなら、NOP の ような何も処理をせず返事を返すだけのプロトコルを実装し、 それを使って定期的に確認。 4. 該当スレッドが生きていることを確認するなら、select や alarm でタイムアウト処理をして、一定時間反応がなければ エラー、という処理をする。 ってなところです。どれがお望みですか? 当然 1 が簡単 ですが、信頼性のあるのは 4 ですね。 全然関係ないところに反応するのもアレですが > AWKを使用した2つのファイルの文字列比較について おお、化けてる。しかも元データは… http://X68000.startshop.co.jp/~68user/tmp/01428 http://X68000.startshop.co.jp/~68user/tmp/01429 正しそう。掲示板のバグですね。どこらへんだろう。 さて、本題は…今日は体力の限界に達したので…また後程。 朝起きたら誰か親切な人が答えてくれてるといいなと思いつつ、 おやすみなさい。 # 気になるのは Input File1 と Input File2 の内容は、文字列 # としてソートされていることが保証されているか、ってとこ # ですか。されているなら簡単。されていないなら…それでも # そんなめんどくさいことじゃないかも。 |
|
ほうぼうで話題になってるのでご存知の方も多いでしょうが、FYI。 WXG for Linux/FreeBSD http://www.ekotoba.com/ フリーソフトです。Canna プロトコルをしゃべりますので、 クライアント側の環境設定は必要ありません。 入れ換えるには cannaserver を殺して、/tmp の.iroha-unix や .ki2-unix (kinput2 を使っている場合) を削除し、wxgserver を 実行するだけです。で、どれくらい賢いかと言うと…(fj で見かけた ネタですが)、 cannaserver 貴社の貴社が貴社で帰社した。 (問題外) 帰社で帰社したのは帰社の帰社です (ここまでダメだとすがすがしい) MSIME 貴社の記者が汽車で帰社した。(正しい) 汽車で帰社したのは記者の記者です。(まぁ惜しいか) WXG 貴社の記者が汽車で帰社した。(正しい) 汽車で帰社したのは貴社の記者です。(正しい) うーん、すばらしい。まだバグっぽい誤変換もありますし、 単語登録に問題アリですが、十分実用に使えます。 A.I.SOFT に感謝しつつ、周りの環境を片っ端から WXG に replace 中。 |
|
No.1425,1426のアドバイスありがとうございます. i = 0,1,2,,,100 display[i] = XtOpenDisplay(context2, NULL, NULL, "TestApp", NULL, 0, &argc, argv); とコード化しているのですが,forで回しても,どうも同じwindowが 何度も開いている様です.第1引数が悪いのでしょうか. もう一度だけお願いします. |
|
traceroute.cgiを期待をかけてダウンロードさせていただきました。 なかなか上手く動かないので書き込みに参りました。 上記CGIと、environment.plもFTPしましてディレクトリも変更しました。 ところがscript Errで動きません。Redhat6.2では利用できないのでしょうか? それともDNSやDHCP等が関係して出来ないのでしょうか? 恐らく初心者の私の待ちがいとは思いますが、ご指導宜しくお願いいたします。 |
|
HP−UXでメモリ内のデータをソートしたいのですが、 サイズが大きいため無理なのかなと思っています。 sortコマンドではどれくらいの件数をソート出来るか 知っている方いませんか? |
|
> AWKを使用した2つのファイルの文字列比較について diffの出力をawkで加工、ってのじゃダメなのかな? |
|
> No.1425,1426のアドバイスありがとうございます. 全然通じていないような・・・ Displayを複数オープンする必要はありません。 100のXサーバと接続するクライアントには応用できるので、一応書いてみました。 XtAppContextは内部で複数のディスプレイ接続に対応していますね。 しかし、あくまで、複数のXサーバと接続するクライアントの為の仕組みであって、ひとつのXサーバ相手に、複数のディスプレイ接続は無意味です。 #include <X11/Intrinsic.h> #include <X11/StringDefs.h> #include <X11/Shell.h> int main(int argc, char **argv) { XtAppContext ac; Display *dpy[100];/* ridiculous example */ Widget w[100]; Arg arg[2]; int i; char title[64]; /* Xt initialization */ XtToolkitInitialize(); ac = XtCreateApplicationContext(); XtSetLanguageProc(NULL, NULL, NULL); XtSetArg(arg[0], XtNwidth, 100); XtSetArg(arg[1], XtNheight, 100); for (i = 0; i < 100; i++) { /* ridiculous example */ dpy[i] = XtOpenDisplay(ac, NULL, NULL, "TestApp", NULL, 0, &argc, argv); sprintf(title, "%d", i); w[i] = XtAppCreateShell(title, "TestApp", applicationShellWidgetClass, dpy[i], arg, 2); XtRealizeWidget(w[i]); } XtAppMainLoop(ac); } |
|
#68user氏ではないですが。 @hayataさん traceroute.cgiについて。 私自身 perl をやり始めたばかりなんでアレかのしれませんが、 ・perlが存在するパスは? 確認方法は「which perl」を実行したときの出力を見ることです。これ が「/usr/local/bin/perl」でなければ、perlが別のパスにインストール されているか、そもそもインストールされていない可能性があります。 インストールされていない場合は実行不可能ですが、別のパスが出力 された場合は、このスクリプト(traceroute.cgiとenvironment.plの両方)の 最初の行 #!/usr/local/bin/perl を修正する必要があります。例えば、「/usr/local/perl5/bin/perl」と表示 された場合は、 #!/usr/local/perl5/bin/perl とします。 ・tracerouteが存在するパスは? 確認方法は perl の場合と同様、「which traceroute」を実行したときの 出力を見ることです。これが「/usr/sbin/traceroute」でなければ、ダウン ロードした environment.pl の $traceroute = "/usr/sbin/traceroute"; という部分を修正する必要があります。例えば、「/bin/traceroute」と 表示された場合は、 $traceroute = "/bin/traceroute"; とします。 の2つをとりあえず指摘させていただきます。これ以外にも原因が考えられる でしょうが、少なくともこの2つを確認し、しかるべき対処をしないと実行 できませんので。 あと、このスクリプトは、*これを実行したホスト*と指定されたホストの間の ネットワークのつながりを調べますので、 http://X68000.startshop.co.jp/~68user/Cgi-room/ から直接実行した場合とでは出力結果が異なります。 @68userさん traceroute.cgiで気づいたのですが、 http://X68000.startshop.co.jp/~68user/Cgi-room/ の「www.cs.gunma-u.ac.jpと指定のホストの間の」は誤りで、正しくは 「X68000.startshop.co.jp」ではないでしょうか。 それでは。 |