68user's page 掲示板

Prev< No. 3939〜3944> Next  [最新発言に戻る] [過去ログ一覧]
No. 3939 # カトウ [E-mail] 2004/08/24 (火) 10:04:33
はじめまして。
よろしくお願いいたします。

現在HP-UX11.00、Bシェルでログの監視ツールを作っています。

早速質問させていただきたいのですが、
たとえば、以下のようなログがあったとします。
------------------------------------------
1:I have a error. You have a worning.
2:I have a worning. You have a error.
------------------------------------------

変数にワイルドカードを使用して
------------------------------------------
pattern="*error*worning*"
------------------------------------------
とパターン定義しておいて、ログファイルを一行ずつ読み込み
この場合ですと、一行目のみ出力させるということは可能でしょうか?

現在
------------------------------------------
message=`echo $line | sed -n /$pattern/p`
if [ "x$message" = "x" ] ; then
        exit 0
else
        echo $message
        exit 1
fi
#($lineはログファイルの読み取り行)
------------------------------------------
というようなことが、やりたいのですが、うまくいきません。


ご教授のほどお願いいたします。

No. 3940 # zsh 2004/08/24 (火) 15:00:13
>>3936 一人
こんな感じでどうですか?
------
awk 'BEGIN {
                FS=",";
                dummy="";
        } {
                if ( $1 != dummy ) {
                        if ( NR > 1 ) printf "\n";
                        printf "%s,%s",$1,$3;
                        dummy=$1
                } else {
                        printf ",%s",$3
                }
          } END {
                printf "\n";
          }' infile
------

>>3939 カトウ
pattern='.*error.*worning.*'
では駄目ですか?

No. 3941 # 一人 2004/08/25 (水) 09:51:00
>>3940 zsh

ありがとうございます。
上手くいきました。

こんな簡単な方法でできるのですね。
考えすぎですね。

No. 3942 # 68user 2004/08/25 (水) 10:39:34
>>3935 TSURU
> sendmail を久しぶりにコンパイルしようとしたのですが、以下のような
> メッセージが大量に出力されてしまい、コンパイルできません。
http://mm.apache.or.jp/pipermail/apache98-99/1999-August/001431.html
のスレッドを参考にしてください。

gcc をインストールしなおさないといけないのか、PATH の設定次第で何とか
なるものなのかはわかりません。

> コンパイラが古いとコンパイルできなくなるということはあるのでしょうか?
あります。しかし今回は環境の問題でしょう。

>>3939 カトウ
> message=`echo $line | sed -n /$pattern/p`
質問内容とは関係ありませんが、$line にワイルドカードなどが入っていると
シェルが展開してしまうので、ログ内容をシェル変数に格納するやり方はお勧め
しません。

No. 3943 # 初心者? 2004/08/26 (木) 10:22:02
始めまして、こんにちは。
UNIX講習を受けてから5年以上も経つのに、ほとんど初心者です。

基本的な質問ですみません。
tar xvf *.tar
で展開して、ファイル情報を表示させたとき、
その内容をファイルに落とすにはどうしたらいいでしょうか?
この展開ですべてのファイルがきちんと展開されたか確認したいのです。
(実は1つだけ展開されていない・・・)
本当に、基本的な質問ですみません。

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

No. 3944 # ポチ公 [E-mail] 2004/08/26 (木) 11:45:54
初めまして。ポチ公と申します。

ネットワークの勉強中ですがちょっと質問があります。

今、httpの仕組みを勉強中でこちらのサイトにたどり着きました。
以下のページで公開されているtcpdump-filter.plで
ttp://x68000.q-e-d.net/~68user/net/tcpdump.html

書かれていたとおりに実行して
見事パケットが整形されて表示されました。

以下のようなコマンドです。

tcpdump -l -s 1600 -x -i lo0 | tcpdump-filter.pl | grep http >> packet.txt

xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap,
xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap,
xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap,
zation Required ...

それで思ったのですが、どうもログを見ると
先頭の3行くらいが全て省略されているようでした。

環境はredhat9/perl5.8です。

何故、先頭の数文字が省略されているのが
疑問でしたので、投稿してみました。

もし何か解りましたら教えて頂けたら幸いです。
宜しくお願いします。

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