68user's page 掲示板

Prev< No. 2696〜2731> Next  [最新発言に戻る] [過去ログ一覧]
No. 2696 # 68user 2002/05/18 (土) 01:39:02
>>2695 G
shellutils で GNU 版 date をインストールするか、perl で
    localtime(time()-60*60*24)
などとするのがお手軽なんじゃないでしょうか。

No. 2697 # G 2002/05/18 (土) 02:45:24
>>2696 68user
返答ありがとうございます。
なにぶん初心者なもので、アドバイスの意味があまりわからないの
ですが、これから調べてやってみようと思います。
会社の環境ゆえ、インストールはできないのでperlの方を参考に
させていただきます。自力でわからなかったときはまた、よろしく
お願いいたします。

No. 2698 # KL 2002/05/18 (土) 06:31:39
>>2689-2694

〜嫌がらせ編〜 「暗黙の初期化? 怖いけどイイ!」

while (length($a = substr("<>aa<>bb<>cc<>dd<>" . "ee<>ff<>gg", $b++, 1))) {
    uc($a) ne $a && length($c .= $a) == 2 && print "<>$c\n", $c = ''
}

〜お気楽編〜 「パターンマッチマンセー!」

$a = "<>aa<>bb<>cc<>dd<>" . "ee<>ff<>gg";
while ($a =~ /(\w\w)/g && print "<>$1\n"){}

〜メモリ倹約編〜 「入力元即処理!」

(push @x, "<>aa<>bb<>cc<>dd<>"), push @x, "ee<>ff<>gg";
map {while ($_ =~ /(\w\w)/g && print "<>$1\n") {}} @x;

#またはファイルから読み込む場合
while (<FILEHANDLE>) {while ($_ =~ /(\w\w)/g && print "<>$1\n") {}}

No. 2699 # KL 2002/05/18 (土) 06:41:44
よく拝見すると"Perl"とは入ってないですね 笑
>UNIX、CGI、ネットワーク、Java Servlet についての掲示板

No. 2700 # パルテノ [E-mail] 2002/05/22 (水) 01:07:34
はじめまして
HTTPプロトコルを利用したファイル転送について教えて下さい。

私はグラフィックデザインに関わっているので、インターネットを介して
画像や映像など比較的大きなデータを日常的にやり取りしています。
今は、ICQやMSNメッセンジャーのファイル転送を利用しているのですが
相手のファイアーウォールやルーターの設定から接続出来ない事もあります。

また接続が切れてしまった場合、続きから再開できるレジューム機能についても解説して戴けないでしょうか?

宜しくお願いします。

No. 2701 # 石田安弘 [E-mail] 2002/05/23 (木) 15:48:08
はじめまして。石田と申します。
★件名★「UNIXの部屋」公開ありがとうございます。

*現在、私はlinux(Unix)のシェルプログラミングを勉強中です。
*ところが、manコマンドでは全然分からないので、
  GoogleやMLアーカイブ検索して調べていましたが、

*こちらのUNIXの部屋は非常に分かりやすく参考になります。

*分かりやすいポイントは、
    1)パラメータの意味が日本語で分かりやすく書いてある
    2)具体例がメッセージなど併せて書いてある。
ところが非常に分かりやすいです。

*私が今作っているスクリプトは
  1)redhatのupdateのFTPサイトと自分のpcの
      rpmパッケージリストを持って来て、マッチングして、
  2)不足分のファイル一覧を作成
      この中から必要なファイルをFTPでダウンロード

*とにかく、パッケージのアップデートは手間がかかるので、
  なるべく自動化しようと思っています。

* これからも「UNIXの部屋」がんばってください。

No. 2702 # 68user 2002/05/24 (金) 23:33:00
>>2699 KL
> よく拝見すると"Perl"とは入ってないですね 笑
もちろん Perl は UNIX であります (^^

>>2700 パルテノ
> 続きから再開できるレジューム機能
HTTP にはレジュームのような高級な機能はありません。二回目以降の
接続時に、単にデータの開始バイトを指定しているだけです。

接続が切れた場合は、ローカルに落したファイルサイズを見て、
たとえば 1000バイトまでダウンロードできているなら
    GET / HTTP/1.0
    Range: bytes=1000-
とします (ファイル先頭は 0 バイト目)。

http://www.studyinghttp.net/rfc_ja/2616/sec14.html#sec14.35

>>2701 石田安弘
> *こちらのUNIXの部屋は非常に分かりやすく参考になります。
ありがとうございます。改善点などありましたら指摘して下さい。

No. 2703 # くろう 2002/05/25 (土) 13:00:33
はじめまして、くろうです
C言語初心者がいきなりソケットプログラムを作っているのですが
どんな本を見ても、いまいちわからないことがあるので質問します。

UNIXで最大1Mハ゛イトの可変ファイルソケットで受信しているのですが
ソケットで受信する時、recvのバッファーのサイズはどのくらいとるのが適正値なのでしょう。

        char buf[4096];
        rtncd = recv(sockid,buf,sizeof(buf),0);

受信したテ゛ータは連結編集してます。
よろしくおねがいします。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2704 # 68user 2002/05/25 (土) 13:24:13
>>2703 くろう
100 バイト単位で値を変えて、転送速度を計りましょう。

それが面倒なら 4096 でいいんじゃないでしょうか。
# 僕は面倒なので 4096。

No. 2705 # ゆくま 2002/05/27 (月) 21:04:19
皆さんはじめまして。ゆくまといいます。
いつも「UNIXの部屋」を活用させて頂いております。

現在、UNIXの*について調べているのですが、
もしご存知の方がいらっしゃったら教えていただけますでしょうか?

たとえば、

>ls
file01.dat file02.dat
>cat *

としたとき、catの表示順は必ず、
file01.dat の次に file02.dat
である(つまりソート順)、と決まっているのでしょうか?
もしくは不定なのでしょうか。

よろしくお願いいたします。

No. 2706 # 68user 2002/05/27 (月) 22:10:29
>>2705 ゆくま
> file01.dat の次に file02.dat である(つまりソート順)、
> と決まっているのでしょうか?
はい、ソートされます。sh・csh・tcsh・bash・zsh・ksh
など全てのシェルでソートされるはずです。

ただし cat *2* *1* だと file02.dat file01.dat の
順になります。

No. 2707 # ゆくま 2002/05/28 (火) 10:08:28
>>2706 68user
レスありがとうございます。

これってやはり考えるまでも無い当たり前のことなんですかね。
これまで何年かUNIXを使ってきて、そうだとは思っていた
のですが、改めて調べてみたところ、そのことを明記している
ようなドキュメントを見つけることができなかったのです。

おそらく何らかのパブリックなドキュメントには明記してある
ことだとは思うのですが。。。
ご存知の方はいらっしゃいますでしょうか?

No. 2708 # 68user 2002/05/28 (火) 11:14:07
>2707
> おそらく何らかのパブリックなドキュメントには明記してある
> ことだとは思うのですが。。。
手元にあるマニュアルを調べてみました。

FreeBSD 4.5-RELEASE の tcsh(1)
      ファイル名置換
              単語が `*', `?', `[', `{' のいずれかの文字を含む場合、また
              は 先頭が `~' で始まる場合、その単語はファイル名置換 (ある
              いはグロブ (globbing) と呼ばれます) の候補になります。この
              ような単語をパターン (グロブパターン) と見なし、そのパター
              ンにマッチするファイル名のリストをアルファベット順で整列し
              たもので置き換えます。

FreeBSD 4.5-RELEASE の csh(1) ・・・発見できず

Solaris2.6 の sh(1)
    [ファイル名の生成]
          コマンド実行に先立ち、各コマンドワードは、 *、?、および [ を
          含んでいないかチェックされます。これらの文字のいずれかがある
          と、そのワードはパターンとみなされます。このワードは、パター
          ンと一致する、辞書編集方式の順にソートされたファイル名に置換
          されます。

Solaris2.6 の csh(1) ・・・発見できず

bash-2.0.5a
      Pathname Expansion
              After word splitting, unless the -f option has been set,
              bash scans each word for the characters *, ?, and [. If
              one of these characters appears, then the word is regarded
              as a pattern, and replaced with an alphabetically sorted
              list of file names matching the pattern.

No. 2709 # 68user 2002/05/28 (火) 11:35:03
>>2708 68user
> FreeBSD 4.5-RELEASE の csh(1) ・・・発見できず
FreeBSD 4.5-RELEASE の sh(1) ・・・発見できず

の間違いです。

No. 2710 # ゆくま 2002/05/28 (火) 11:49:20
>2708
>手元にあるマニュアルを調べてみました。

わざわざありがとうございます。
なるほど!灯台下暗しでした(申し訳有りません、、、)。

ちなみにこちらの手元も調べてみましたところ、

Solaris7 のcsh(1)
[ファイル名置換]
          *、?、[、または { のうちのいずれかの文字を含むクォートされ
          てい な い ワード、または ~ で始まるワードは、以下のように
          アルファベット順にソートされたファイル名のリストに展開 (グ
          ロビングとも呼ばれる) されます。

とありました。

お手数をおかけしました。
助かりました!

No. 2711 # ゆくま 2002/05/28 (火) 11:59:36
>2710
追記です。
当方のSolaris2.6のcsh(1)にもSolaris7と同じ表記が見つかりました。
ということは、68userさんの環境と異なるのでしょうか?

No. 2712 # G 2002/05/28 (火) 13:44:33
HP-UXのawkコマンドのパターン指定ではシェル変数は使えないのでしょうか?下記のような条件で、いろいろ形を変えて試して見たのですがまったくうまくいきません。分かる方教えてください。

例:awk '$1<=${hensuu}{print $0}' file.txt
※${hensuu}=1,2,3,4,5・・・・・・

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2713 # 68user 2002/05/28 (火) 16:18:16
>>2711 ゆくま
> 当方のSolaris2.6のcsh(1)にもSolaris7と同じ表記が見つかりました。
こちらの Solaris2.6 にも同じ記述がありました。流し読みしたので
見逃していたようです。

>>2712 G
シェル変数は、シェルのための変数であって、シェル以外からはどうやっても
参照できません。よって、
    % env MAX=123 awk '$1<=ENVIRON["MAX"]{print $0}' file.txt
などと環境変数を使うか、
    % awk -v max=123 '$1<=max {print $0}' file.txt
で変数を指定しましょう。

No. 2714 # G 2002/05/28 (火) 18:56:58
>>2713 68user
ありがとうございました。教えていただいたコマンドで上手くいきました。

No. 2715 # STP 2002/05/31 (金) 17:13:59
こんにちは、時々見させてもらってます

PerlでIO::Socketを使っているのですが、
HTTPのPersistent connectionの様な、「サーバーから一旦データが
送られてきた後のコネクションは維持しつつも無通信な状態」
といった状態をプログラム側で判別できずに困ってます

この間にsysreadなどを使うとデータが送られてこないためずっと
待ってしまいますので…

IO:Selectのcan_read($timeout)も試してみたのですが、
この様な状態ではしっかりとソケット識別子を返してしまう
みたいで結果としてsysreadの所に行ってしまってそこで止まってしまう
様な感じでした。

何か良い知恵はないでしょうか??
まあHTTPならcontent-lengthを見て1オブジェクトの受信の終わりを判別すれば良いんでしょうけど…

No. 2716 # 68user 2002/05/31 (金) 17:54:38
>>2715 STP
> この様な状態ではしっかりとソケット識別子を返してしまうみたいで
ということはないと思いますが、問題が発生する最小限の
プログラムを見せていただければ何かわかるかもしれません。

# あと、OS や perl のバージョンなども。

No. 2717 # よー 2002/05/31 (金) 18:10:14
こんにちは、時々見させてもらってます。

PerlでHTTPSクライアントを作成したいのですが
サンプルありますでしょうか

No. 2718 # 名無しさん 2002/05/31 (金) 20:11:59
>>2717 よー
LWP?

No. 2719 # 68user 2002/05/31 (金) 22:18:28
>>2717 よー
何をどう書いたのか全く覚えていませんが、LWP と Crypt-SSLeay で
できるようです。
>>1848 d-jiro
>>1849 68user
>>1854 d-jiro
>>1855 68user

No. 2720 # よー 2002/06/01 (土) 08:28:35
Socketを用いたPerlでHTTPSクライアントのサンプルは
ありませんか?

No. 2721 # 68user 2002/06/01 (土) 15:11:21
>>2720 よー
http://www.thomas-fahle.de/pub/perl/LWP/HTTP/HTTP_Get.html#https

No. 2722 # Netboy [E-mail] 2002/06/01 (土) 20:20:51
68userさん,こんにちは.
失礼ながらご連絡事項をこちらでお伝えします.

このサーバーがポートスキャンの踏み台にされたそうです.
カーネルも古いし本格的な対策は無理だと思いますが
そちらでできる対策があれば試していただけませんか.

> 早速ですが、サンライズシステムズ 様の配下にある
> 210.249.139.22 というホストから
> ポートスキャンが行われた模様との連絡が入りました。

連絡経路はTTCNパワードコムの鎌田さん->両毛の新堀さん->私の順です.

No. 2723 # Netboy [E-mail] 2002/06/01 (土) 20:29:35
実は5/30に胆嚢摘出の手術を受けまして,入院中なのです.
動くに動けない感じで,今も看護婦の目を盗んで携帯でつないでいます.
何かありましたらお気軽にメールください.

No. 2724 # 68user 2002/06/01 (土) 23:39:56
>>2722 Netboy
現在対応中です。ひととおり終わりましたら作業項目を書き
込みます (メールの方がよろしければメールします)。

> 実は5/30に胆嚢摘出の手術を受けまして,入院中なのです.
大変ですね。御大事に…。

No. 2725 # 68user 2002/06/02 (日) 03:49:47
>>2722 Netboy
メール送りました。

No. 2726 # Netboy 2002/06/06 (木) 14:07:25
ただ今再起動しました

No. 2727 # 68user 2002/06/06 (木) 15:44:25
利用者の方へ。

サーバを置いてあるところの管理者の方が、2002/06/02 にマシンの
電源を落とされたため、しばらくアクセスできない状態になっていました。

No. 2728 # yun [E-mail] 2002/06/07 (金) 14:05:48
PerlでのFTP接続を行いファイル転送をしたいのですがうまくいかず
困ってます。
$proto = getprotobyname('tcp');
$port = getservbyname('ftp', 'tcp');
$iaddr = inet_aton($hostname) or die "$hostnameのアドレス取得失敗";
$paddr = pack_sockaddr_in($port,$iaddr);
socket(SOCKET,PF_INET,SOCK_STREAM,$proto) or die "socket失敗";
connect(SOCKET, $paddr) or die "connect失敗";
# ファイルハンドル COMMAND をバッファリングしない
select(SOCKET); $|=1; select(STDOUT);
#---------- ユーザ認証 ----------------------
print SOCKET "USER $username\r\n";
print SOCKET "PASS $password\r\n";
#------------------------------------------
と、ユーザー認証まではいけるでのすがその後で
エラーとなってしまいます。
ちなみにユーザーとパスともにあっているはずなんですが・・・。
情報不足かと思いますが何か思い当たることがありましたら
指導のほどお願いいたします。

No. 2729 # yun [E-mail] 2002/06/07 (金) 16:39:14
↓のNo.2728の件です。
接続まで何とかできたのですがファイルをアップロードしたいのですが
どのようにすればいいのかわからなくて・・・。
教えていただけませんか??

No. 2730 # 68user 2002/06/07 (金) 16:42:28
>>2729 yun
2729 は 2728 の補足ですか? それとも 2728 の件は解決したのですか?

エラーが出るのですか? やり方がわからなくて先に進めないのですか?

No. 2731 # yun 2002/06/11 (火) 10:43:01
接続後のPUTの仕方がわからないので先にすすめないんです。
ん〜情報が少なくて申し訳ないです。
何かわかることがありましたらお願いします。

Prev< No. 2696〜2731> Next  [最新発言に戻る] [過去ログ一覧]