68user's page 掲示板

Prev< No. 1443〜1448> Next  [最新発言に戻る] [過去ログ一覧]
No. 1443 # atom 2000/12/10 (日) 00:27:45
はじめまして。atomと申します。

教えて頂きたい事があります。
unixで特定の文字列を含むファイルを
特定の場所から検索するには
どのようにすればよいのでしょうか?
"unixの部屋"のgrepの説明で
grep −−− dir/* というのがありますが
これでよいのでしょうか。
どなたか、教えて下さい。
よろしくお願いします。

No. 1444 # 68user 2000/12/10 (日) 01:42:59
> sortコマンドではどれくらいの件数をソート出来るか
> 知っている方いませんか?
適当なデータを作って、実験してみましょう。sort できる
限界までいったら、swap の状況を見つつ、sort のせいなのか
メモリが足りないのか見極めましょう。

> traceroute.cgiを期待をかけてダウンロードさせていただきました。
補足ですが、まずは web サーバのログを見ましょう。
perl -c traceroute.cgi で文法チェックしましょう。
CGI として動かすのはもっと後の話です。

> 正しくは「X68000.startshop.co.jpと指定のホストの間の」では
> ないでしょうか。
へい、その通りです。直します。

# が、CGI の小部屋は技術的に未熟だった頃 (今もたいした
# ことはないけど) のコンテンツなので、既にメンテナンス
# する気力をなくしております。暇を見付けて修正しておきます。

> grep −−− dir/* というのがありますがこれで
> よいのでしょうか。
それでよいです。他人に聞く前に自分で試してみましょう。
試してダメだったのなら、何をした結果どうなったか、
というのが第三者にわかるように質問しましょう。

> cpでファイルを作成しているときにアクセスログに
> 書かれたログは、反映されるものなのでしょうか?
試してませんが、恐らく反映されません。なので、
log を適当なタイミングで rotate して、古くなった
ログファイルをコピーするのがよいでしょう。

apache なら rotatelogs というコマンドが付属しています。

No. 1445 # rosegarden 2000/12/10 (日) 06:04:47
>ん、gzip で圧縮して送って、向こうで伸張できたのですか?
>なら最大ファイルサイズは関係なかったですね。

ファイルサイズですが、FreeBSD 4.1-RELEASE で 6GB 以上の報告も
あるようです。6GB のディスクを dd コマンドでファイル化した
なんて話がどこかで書いてありました(URI は失念しました)。

推測の域を出ませんが、2GB で引っかかったというので思い付いたのですが…。
まさかとは思いますが、singed int でファイルサイズを保持しているような
状況だとエラーが出るでしょうね。プログラムのバグかも知れません。

>grep −−− dir/* というのがありますが
>これでよいのでしょうか。

この質問は答えにくいですね。dir 以下のディレクトリツリーを
トラバースするのなら、これじゃ不足です。

find . -type f -exec grep PATTERN {} \;

ですかね。GNU grep 使っているのなら、

grep -r PATTERN *

でもすみます。ただし、シンボリックリンクがループしていると死にますね。

質問をみるとファイル名だけが表示されれば良いようにも読めるので、
そういった場合だと、

grep -rl PATTERN *

かな?

>適当なデータを作って、実験してみましょう。sort できる
>限界までいったら、swap の状況を見つつ、sort のせいなのか
>メモリが足りないのか見極めましょう。

GNU sort の場合 TMPDIR みていますね。ルートパーティションを
小さめにとっているシステム( 32MB とか 64MB )だと、メモリがあまっているのに
ファイルシステムがあふれたりして。256MB メモリのあるマシンで実験したら、
こんな感じです。

% la -alF
total 40330
-rw------- 1 root wheel 36666584 Dec 10 05:51 hoge

% sort hoge

/: write failed, file system is full
sort: write error: No space left on device

ちなみに、ルートパーティションは 64MB で、のこり 17 MB でした。

>perlが存在するパスは?

蛇足ですが、CGI スクリプトを win から binary mode で転送すると
パスが正しくてもアウトですね。一行目が

#!/usr/bin/perl^M

とかなりますから。^M って CR のことです。つまり
ascii の 0x0d

No. 1446 # 68user 2000/12/11 (月) 01:12:29
> GNU grep 使っているのなら、
> grep -r PATTERN *
あれ、今の GNU grep って recursive option あるんですか。
と思って ChangeLog 見たら、-r が追加されたのは 1998/08/18
でした。結構前なんですね。

No. 1447 # nac 2000/12/11 (月) 17:14:39
nac と申します。ネットワークプログラミング大変参考になりました。
私も、POP3 クライアントを作ってみて疑問がでてきました。
rfc1939 を読んでみると pop3 サーバーの返答は 512文字まで
と書いてありました。そこで、一行が512文字以上のメールを
pop3 から落してくると、次のように

hogehoge...hoge!CRLF
hogehoge....hogeCRCF

途中で ! マークが入っておりました。rfc1939 を読む限りこの、! に
ついては言及されていないようですが、これはどこで規定されているのでしょうか。
(もし、rfc の中で書いてあるようでしたら、理解不足です、すいません)

No. 1448 # 68user 2000/12/11 (月) 18:48:27
> rfc1939 を読む限りこの、! については言及されて
> いないようですが
ちらっとしか見てませんが、512 ってレスポンス行 (+OK
とか +ERR) の最大長であって、メールの1文の長さとは
無関係じゃないでしょうか?

とはいえ、! で fold されていたというのは気になりますね。
現在 IMAP 環境しかないので試せませんが、その POP3
サーバアプリケーションの名前を教えてください。qpopper ですか?

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