|
>>3929 yoshitani > grepの条件で「:00*:」としているのに :00*: は、 コロンがあって、その後に 0 があって、その後に 0個以上の 0 があって、その後にコロンがある という正規表現ですので、 > 「root:x:0:1:Super-User:/:sbin/sh」 の :0: の部分にマッチします。 GID が 0 のものを引っ張りたいなら、 % grep ':[0-9][0-9]*:0:' /etc/passwd % awk -F: '$4~/^0$/ {print}' /etc/passwd などとすればよいかと思います。 |
|
>>3924 ネットワーク1年生 ネットワーク的に近いとは同一ネットワーク内のことを指します。 まぁ、普通ならルーターを挟まない通信と言うこと |
|
>>3930 68user ありがとうございました。 正規表現、もっと勉強してみます。 |
|
はじめて書き込みをさせていただきます。たろーと申します。 OpenSSLで単純なHTTPSクライアントのプログラミングをしているのですが、 SSL_connect(ssl)関数のタイムアウトの設定の仕方がわかりません。 もしご存知でしたら、教えていただけないでしょうか。 宜しくお願いします。 |
|
>>3933 たろー > SSL_connect(ssl)関数のタイムアウトの設定の仕方がわかりません。 関数名しか見てませんが SSL_set_timeout や SSL_CTX_set_timeout じゃ ないですかねぇ。ぜひ結果を教えてください。 |
|
こんばんは。TSURUです。 久しぶりです。 また、皆さんのお力を貸して欲しいと思います。 sendmail を久しぶりにコンパイルしようとしたのですが、 以下のようなメッセージが大量に出力されてしまい、コンパイル できません。 unknown flag -lang-c unknown flag -Asystem(unix) unknown flag -Asystem(svr4) unknown flag -Acpu(sparc) unknown flag -Amachine(sparc) 環境は、以下のとおりです。 OS : Soraris 2.5.1 sendmail : sendmail-8.12.11 以前は問題なくコンパイルできていたのですが、久しぶりに実行したら、いきなり コンパイルできなくなってしまいました。環境は、以前と特に変えていません。 コンパイラは gcc ですが、かなり古いです。 % l /usr/local/bin/gcc -rwxr-xr-x 1 root other 118928 9月 1日 1996年 /usr/local/bin/gcc* コンパイラが古いとコンパイルできなくなるということはあるのでしょうか? ちなみに、sendmail だけでなく、UW-IMAP など他の製品をコンパイルしようとした 時にも、同様な現象となります。 gcc が正しくインストールされていないのが原因なのでしょうか?(だとしても、 以前は正常にコンパイルできていました。) どなたか、解決方法を教えていただきたいと思います。 よろしくお願いします。 |
|
以下のカンマで区切られたデータをフィールド1をキーにして、フィールド3を 1行に編集しようとしたのですが、処理が終了してくれません。 無限ループの状態になってしまいます。 上手くファイルの終了を判断していません。 ファイルの終わり(EOF)を判断するにはどうしたらできますか。 --データ-------------- A001,商品番号,0001 A001,商品番号,0002 A001,商品番号,0003 A002,商品番号,0001 : : Annn,商品番号,0001 Annn,商品番号.0002 --結果-------------------- A001,0001,0002,0003 A002,0001 : : Annn,0001,0002 ---------------------------------- #!/bin/sh # SORT_FILE="/tmp/sort_csv.log" OUT_FILE="/tmp/kekka.log" rm ${OUT_FILE}* > /dev/null 2>&1 echo "*** start ***" awk -v OUT=${OUT_FILE} -F"," ' BEGIN { count = 0+0 ; output=sprintf("%s",OUT) ; } function edit_proc() { cnt = 0+1 ; dumy = $1 ; printf("%s",$1) >> output ; while( NF>0 ) { if (dumy != $1) { printf("\n") >> output ; dumy = $1 ; printf("%s",$1) >> output ; cnt++ ; } printf(",%s",$3) >> output ; getline ; } printf("\n") >> output ; return cnt ; } { count=edit_proc() ; } END { close(output) ; printf("syori count [ %d ] ken\n",count) ; }' ${SORT_FILE} echo "*** end ***" |
|
>>3931 MERCY MERCYさま。ご回答有り難うございます。お礼が遅くなってごめんなさい。 これからもその他、下らないことで質問すると思われますので、 是非とも宜しくお願い致します。 有り難うございました。 |
|
>>3926 68user 管理者さま。大変お世話になっております。 くだらない質問にも、いつも一番にご回答下さり大変嬉しいです。 本当に有り難うございます。 >> CSMA/CDの他、CSMA/CA、ホットポテトルーティング、近隣探索機能(v6) >CSMA/CD・CSMA/CA は近いという概念とはまったく関係なく、LAN 内での >コリジョンを防止するための仕組みだと思っています。 はい。まさにその通りでした。。 課題を出した上司はNWがどの様に通信しているのかを勉強させたく、 CSMA/CD・CSMA/CAの課題を持ち出したものでした。 コリジョン防止がNW内通信の速さだと思っていた先輩が誤って、 「NW内の近さ」と関連付けアドバイスしてくれたものですから混乱してました。 「UNIXと言うものが、サーバ向が主体」とどこかで思っているので、 こちらでNWの質問までしてしまって申し訳けございませんでした。 とにかく本当に有り難うございました! |
|
はじめまして。 よろしくお願いいたします。 現在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はログファイルの読み取り行) ------------------------------------------ というようなことが、やりたいのですが、うまくいきません。 ご教授のほどお願いいたします。 |
|
>>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.*' では駄目ですか? |
|
>>3940 zsh ありがとうございます。 上手くいきました。 こんな簡単な方法でできるのですね。 考えすぎですね。 |
|
>>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 にワイルドカードなどが入っていると シェルが展開してしまうので、ログ内容をシェル変数に格納するやり方はお勧め しません。 |
|
始めまして、こんにちは。 UNIX講習を受けてから5年以上も経つのに、ほとんど初心者です。 基本的な質問ですみません。 tar xvf *.tar で展開して、ファイル情報を表示させたとき、 その内容をファイルに落とすにはどうしたらいいでしょうか? この展開ですべてのファイルがきちんと展開されたか確認したいのです。 (実は1つだけ展開されていない・・・) 本当に、基本的な質問ですみません。 よろしくお願いいたします。 |