|
こんにちは パールのコードについて教えてください。 ログの読み込みなのですが、ファイルハンドルをオープンして通常は @log = <FH>; のような形で取り込むのですが、ログファイルの先頭の 1行だけ必要な場合、その1行だけを取得することはできるのですが、 書き換えたその1行を元の先頭に戻したいのです。 メモリ食いの @log = <FH>; は使わないで、while(<FH>){nantoka;} のような形で解決するコードは無いでしょうか。 よろしくお願いします。 |
|
>>2815 moto use IO::Handle して、sysopen して、<FH> して、先頭に seek で戻って print でいけるかな。 ただし、1行あたりの文字数が変わらない場合のみです。 |
|
こんにちは 68user さん 掲示板のログの読み込みに関してだったのですが、やはり、上手い手は無いようなのですね。 いつも思うのですが、open 関数の >> の追加書き込みでログの先頭に書きむ選択肢もあったら、while 関数ももっと活躍できるのにと残念です。 お騒がせしました。 |
|
>>2817 moto > open 関数の >> の追加書き込みでログの先頭に書きむ選択肢もあったら と言われて思い出しましたが、 +> や +>> ってのがありましたね。 ただ、繰り返しになりますが、文字や行の挿入はできませんよ。 あくまで上書きのみです。よって、あまりうれしくないかも。 |
|
教えてください。 vi エディッタで rm ファイル名で ファイルを削除してしまいました。 復元する方法はありませんか??? よろしくお願いします。 |
|
>>2819 飛鳥 一般的な UNIX のファイルシステムであれば、消したファイルは 復活できません。あきらめましょう。 |
|
ありがとうございます。 素直にあきらめます。。。。。。。。。 |
|
javaのRuntimeクラスを使いシェルスクリプトを実行させたのですが、 シェルスクリプトに引数が渡りません。 以下の記述をしてます。 Runtime.getRuntime().exec("test.sh","param"); シェルスクリプト側で$1変数から引数の値が取得できてません。 解決方法を知ってる方は教えて頂けないでしょうか? |
|
>>2822 help 試してませんが String args[]={"test.sh", "param"}; Runtime.getRuntime().exec(args); とか Runtime.getRuntime().exec(new String[]{"test.sh", "param"}); とかとか。 # 文法あってるかな・・・。 |
|
>>2823 68user わざわざ返答ありがとうございます。 返答された記述も上手くいきませんでした。 シェルスクリプト内で行っている処理なんですが、 引数で渡された値からファイルを削除する処理で 以下のような記述をしてます。 #!/bin/sh /** 別の処理 */ rm -rf $1 |
|
>>2824 help > 返答された記述も上手くいきませんでした。 何がどううまくいかなかったですか? また、うまくいかないと判断した根拠は何ですか? コマンドラインからシェルスクリプトを実行すると動くんですか? うちの Solaris8+J2SE SDK 1.3.1 では String args[]={"test.sh", "param"}; Runtime.getRuntime().exec(args); と Runtime.getRuntime().exec(new String[]{"test.sh", "param"}); それに Runtime.getRuntime().exec("test.sh param"); も動きました。 そもそも > Runtime.getRuntime().exec("test.sh","param"); はコンパイルできなかったのですが、そちらではコンパイルできているん でしょうか? なお、Runtime#exec の出力結果を取得したいならこちらを。 http://www.ongs.net/daichi/java/runtimeexec/index.shtml これをやらなくても画面に表示されないだけで、実行はされています。 |
|
>>2825 68user 説明不足で申し訳ありませんでした。 おかげさまでシェルスクリプト内で 以下の記述を追加して解決できました。 //削除したいファイルのパスに移動 cd /XXX/XXX rm -rf $1 |
|
はじめましてTetsuといいます 早速ですが質問があります WindowsでTCP/IPのプログラムを作っているのですがサーバーはどれにあたるのですか? メールサーバーでしょうか?それともWWWサーバーなのか良くわかりません 自分ではチャットみたいなプログラムを作りたいと思うのですがサーバーとクライアントの関係がまだ良くつかめません 具体的に教えてもらえると助かります |
|
>>2827 Tetsu 「はじめにプロトコルありき」と考えるのはどうでしょうね。 HTTP というプロトコルがあります。HTTP を喋るサーバと HTTP を喋るクライアントが必要です。HTTP を喋るサーバは web サーバです。HTTP を喋るクライアントはブラウザです。 よって、web サーバとブラウザがあれば HTTP で遊べます。 で、あなたはチャットみたいな機能が欲しいと。プロトコルは何にしますか? 1. IRC 2. HTTP (web 上でのチャット) 3. 自作プロトコル 1 の場合、IRC というプロトコルは既に存在します。IRC プロトコルを喋る サーバは既に存在します。IRC プロトコルを喋るクライアントは既に存在します。 よって、IRC サーバと IRC クライアントをインストールすれば OK です。もし IRC サーバに不満があるなら自作することもできます。IRC クライアントに 不満があるなら自作することもできます。 2 も 1 と同じ。 3 の場合、あなたが新しいプロトコルを設計します。何から何まであなたが 勝手に決めます。しかし、そのプロトコルを喋るサーバもクライアントも この世には存在しませんので、両方とも自作する必要があります。 …というので回答になってますか? |
|
回答ありがとうございます 自分の聞きたかった質問の解答になってます ありがとうございます 早速1か2の方法でためしてみたいと思います 3はもう少し勉強してからのほうがいいと思うので |