68user's page 掲示板

Prev< No. 4321〜4360> Next  [最新発言に戻る] [過去ログ一覧]
No. 4321 # 68user 2005/10/20 (木) 01:13:13
>>4320 SSL初心者
まずは検索を。
http://www.google.co.jp/search?q=windows+apache2+ssl&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8

No. 4322 # マッケーブ 2005/10/20 (木) 15:39:43
お世話になります。
「マッケーブの循環的複雑度」を出力するツールを探しており、
当ホームページから コマンドcccc(C言語・C++・Java のソース
コードのステップ数を調べるツール。)を探し当てました。
ところが、身近にあるサーバで試してみると、
$ cccc hoge.java
-bash: cccc: command not found
と出力されます。

コマンドccccを実行するための条件等、ありますでしょうか。
ご教示、よろしくお願いします。

No. 4323 # ミケフォ [E-mail] 2005/10/20 (木) 18:12:00
初めまして。
『UNIXの部屋』の localtime(3) のサンプルコードにある
tm_timeの一連の変数参照が間違っています。

No. 4324 # hoge 2005/10/20 (木) 22:15:02
>> 4322
http://x68000.q-e-d.net/~68user/unix/pickup?Command+not+found

2 又は 6 では無かろうか.

No. 4325 # Netboy 2005/10/22 (土) 14:28:50
サーバーの件でメールをお送りしました

No. 4326 # SSL初心者 2005/10/26 (水) 12:59:02
すみません。SSLをWindowsで設定しているんですが、
Apacheのインストールで下記のエラーが出ます。

(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、
たはポートのどれか 1 つ のみを使用できます。 : make_sock: could not bind to
dress 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

これは、どういった意味のエラーなのかさっぱりわかりません。
自分で調べてもどの方面から調べるのかわからずじまいで投稿しました。
環境は以下のとうりです。

OS - Windows98
Apache - Apache_2.0.55-Openssl_0.9.8a-Win32をダウンロード
OpenSSL - Win32OpenSSL-v0.9.8を使用

参考HP - www.rinzo2.jp/~rinzo/apache_ssl/apache_and_ssl_00.htm

ご意見お待ちしております

No. 4327 # awk初体験。 2005/10/26 (水) 14:54:35
シェル内にて以下の記述を入れるとエラーが発生します。

■エラー発生箇所
cat ./temp.txt | awk 'BEGIN{FS=","}{if(match($1,"^${_XXX_}")!=0){print $0}}' > ./test.csv

■出力エラー
awk: There is a regular expression error.
                ?, *, or + not preceded by valid regular expression
  The source line number is 1.
  The error context is
                                  >>> BEGIN{FS=","}{if(match($1,"^${_XXX_}") <<<

"^${_XXX_}"の部分がエラーとなっているようですがここでは変数は使用できないのでしょうか?

No. 4328 # 68user 2005/10/27 (木) 11:45:32
>>4326 SSL初心者
「OS 10048」で検索した結果の 1番目に出てくるのがおそらく答えです。
    http://www.google.co.jp/search?q=OS+10048&start=0&start=0&hl=ja&lr=lang_ja

>>4327 awk初体験。
ウチの環境ではエラーにならないのでよくわかりませんが、
    ${_XXX_}
って変数のつもりで書いてるんですよね? どこで ${_XXX_} に値をセット
しているのですか?

もしシェルスクリプトでシェル変数や環境変数にセットしているのなら、
引数全体を '' で囲んでいるので置換されません。というわけで

    cat ./temp.txt | awk 'BEGIN{FS=","}{if(match($1,"^'${_XXX_}'")!=0){print $0}}' > ./test.csv

などと ${_XXX_} を外に出します。

No. 4329 # 68user 2005/10/27 (木) 11:58:11
>>4323 ミケフォ
> 『UNIXの部屋』の localtime(3) のサンプルコードにある
> tm_timeの一連の変数参照が間違っています。
ありがとうございます。bugid 18 として登録しました。
    http://x68000.q-e-d.net/~68user/bugnote/viewbug.php?projectid=1&bugid=18

# 登録する暇があるなら、さっさと直せと。

No. 4330 # Netboy 2005/10/27 (木) 12:02:11
すみません,昨日18時頃から本日11時まで
サーバーの通信が切れていました.

昨日13時頃に回線工事があって無事完了したのですが,
終端装置の接続が雑だったらしく,17時頃に突然接続が落ちました.

すぐ業者に連絡したのですが既に営業時間外で,
朝まで修理を呼べませんでした.
本日11時に業者が来て直りました.

ご報告まで.

No. 4331 # キック 2005/10/27 (木) 16:56:13
お世話になります。

C言語でHTTPクライアントを作成してますが、HTTPSの場合のポート番号が
サイトを探しても見つからないですが、ご存知でしょうか?
よろしくお願い致します。

No. 4332 # 68user 2005/10/27 (木) 17:12:26
>>4330 Netboy
対処いただきありがとうございます。IP アドレスの件はもう少々お待ちください。

>>4331 キック
「https ポート番号」で検索したら一番最初に出てきます。
    http://www.google.co.jp/search?q=https+%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7&hl=ja&lr=lang_ja

No. 4333 # キック 2005/10/27 (木) 17:19:59
>>4332 68user

ありがとうございます。
初歩的ですみません(^ ^;)>

No. 4334 # hagu 2005/10/28 (金) 10:37:09
シェルで、ftpを自動で実行しています。
ftpの接続、ログインの判定や、ファイルのput/getの判定
ができたか判断したいのですが、できるのでしょうか。
エラーが発生したら、「exit 1;」などで終了させて、その
ステータスを判断するといったことはできないのでしょうか。

-----------------
ftp -v -n ${SERVER} <<END >/dev/null
user ${FTP_USER_ID} ${FTP_PASSWORD}
cd ${FTP_DIRECTORY}
lcd ${LOCAL_DIRECTORY}
get ${GET_FILE}
bye
END

環境:
    Solaris8i
    Bシェル

No. 4335 # awk初体験。 2005/10/28 (金) 17:15:32
No. 4327 で質問させていただきました。
変数はシェル内で実行していました。
そのため""で括った所上手くいきました。
ご回答ありがとうございます。

さらに別の質問させてください。
カンマ及びスラッシュを区切り文字としたいのですが…
-FオプションやFS=の指定で複数の区切り文字を指定することはできるのでしょうか?

No. 4336 # zsh 2005/10/30 (日) 11:51:51
>>4335 awk初体験。
区切り文字に正規表現を使用できるawkであれば可能です。
(gawkやnawkなら使用可能ですが、Solaris標準のawk等では使用できません。)

$ nawk -F"[,/]" '{ .... }' file
$ nawk 'BEGIN{ FS="[,/]" } { .... }' file

No. 4337 # 68user 2005/10/30 (日) 15:35:42
2005/10/29(金) 00:00:00 ごろから IP アドレスの変更・それに伴う DNS 設定変更を
行いました。Refresh とか Retry とか Expire などを理解していないので、何も対策
せずいきなり切り替えました。そのせいで つながらなかった人もいると思いますが、
ご迷惑をおかけしました (わたしも数時間つながらなかった)。

ご協力ありがとうございました>Netboy さん

>>4323 ミケフォ
遅くなりましたが、修正しました。
ご指摘ありがとうございました。

# http://x68000.q-e-d.net/~68user/bugnote/viewbug.php?projectid=1&bugid=18

>>4334 hagu
わたしなら Perl の Net::FTP モジュールなどできっちりエラーチェックしますが、
どうしても ftp コマンドを使わざるをえないなら、
    - ftp コマンドに -d オプションなどをつけて実行結果のログをとる。最後に
        ログを解析してステータスコードに 4xx 系・5xx 系 がないことをチェックする。
    - 接続した時点でリモートに同名のファイル名がないならば、get/put を行って、
        最後に ls して、結果をログに保存する。ls の結果を解析し、ファイル一覧・
        ファイルサイズ・ファイル個数などのチェックを行う。
くらいしかないような気がします。

No. 4338 # 68user 2005/10/30 (日) 15:41:23
>>4337 68user
> 2005/10/29(金) 00:00:00 ごろから
2005/10/29(土) 00:00:00 の誤りでした。

No. 4339 # TKG 2005/10/31 (月) 21:57:21
A君とB君(ユーザーIDはそれぞれAとB)は同じグループG(グループIDはG)に属しているとします。
A君は、自分のホームディレクトリ(~A)にあるディレクトリDの中の全てのファイルを、B君など同じ
グループに属する人にだけ閲覧可能にしたいと考えました。ただし、A君はディレクトリD以外の
ファイル・ディレクトリは(それらのリストを取る(lsコマンド)ことも許可したくありません。
A君はどのようなパーミッションを設定すればよいでしょうか?

No. 4340 # 68user 2005/11/01 (火) 01:23:05
>>4339 TKG
    ~A/ 710
    ~A/D/ 750
    ~A/X/ (D 以外) 700
でしょうか。

No. 4341 # 2005/11/02 (水) 11:36:55
Solarisでシェルスクリプトを起動する場合。
$ csh script.cshと入力しなければなりませんが、
最初のcsh を省略して$ script.cshで起動する方法を教えて下さい。
宜しくお願いします。

No. 4342 # zsh 2005/11/02 (水) 17:49:42
> 68user様
http://x68000.q-e-d.net/~68user/unix/genre.html#genre22
にheadが二つ表示されています。

>>4341
UNIXの部屋を読めば判ると思いますが・・・
  1.スクリプトの一行目にシェルのパスを指定する。
  2.環境変数PATHを設定する。
  3.スクリプトに実行権をつける。
といったところでしょうか。
http://x68000.q-e-d.net/~68user/unix/pickup?Command+not+found

No. 4343 # hoge 2005/11/02 (水) 18:54:10
>> 誠さん

4342 で言われている PATH の設定は csh が置かれている場所にパスを通すって
意味であって、PATH に "."(カレントディレクトリ) を加えるって話では無い筈です。
従って、 単に script.csh ではなく ./script.csh って起動方法になると思います。

PATH に "." を加える事の問題とか、csh スクリプトを覚えるよりも sh 系の
スクリプトを覚えた方が良いって話は検索すれば出てきますので読んでみましょう。

No. 4344 # zsh 2005/11/03 (木) 13:34:58
>>4343 hoge
スクリプト専用のの格納ディレクトリがあるのかと思い
PATHの設定が必要と書きました。
・・・・ちょっと意地悪したくなったのも事実ですが。

No. 4345 # hagu 2005/11/04 (金) 17:19:50
>>4337 68user
返事が遅くなって申し訳ありません。
アドバイスありがとうございます。
ログに出力し、ログをチェックする方法でやってみます。

No. 4346 # hagu 2005/11/04 (金) 17:23:52
sedを使用して大文字から小文字に変換したいのですが、
なかなか上手くいきません。
例えば、「YAMADA」を「Yamada」と先頭の1文字目は大文字で、
2文字目以降を小文字に変換したいのですが、以下の様にsed
を使ってやったのですが上手く行きません。
sedでは、無理なのでしょうか。
環境は、Solaris8、Bシェルです。

----------------------
NM=Ya1AMADA
echo $NM | sed 's/[A-Z].*/[a-z]/g'

NM=YAMADA
echo $NM | sed 's/\(.\)[A-Z]*/\1/g'

No. 4347 # 2005/11/04 (金) 18:25:03
>>4346 hagu
多分、sedだけでは無理だと思います。

sedを使わなくても、awkだけでも可能です。

echo $NM | nawk '{for(j=i=1;i<=length($0); i++) if(i==1) {NM[i]=substr($0,i,1)} else {NM[i]=tolower(substr($0,i,1))}} END{for(count in NM) printf("%c",NM[count]); printf("\n")}'

No. 4348 # hagu 2005/11/04 (金) 21:58:31
>>4347

試してみましたが、出方が変です。
amadaY となります。

No. 4349 # マーブル 2005/11/05 (土) 08:16:10
始めまして、ネットワークプログラミング周辺読ませて頂きました。
簡潔なソースで読みやすかったです。
お礼に掲示板カキコ、それにしてもみなさん勉強熱心ですね(笑

----------------------------------------
echo $NM | \
sed -e h -e 's/^\(.\)\(.*\)/\1/g' \
-e 'y/[abcdefghijklmnopqrstuvwxyz]/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/' \
-e x \
-e 's/^.\(.\)/\1/g' \
-e 'y/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/[abcdefghijklmnopqrstuvwxyz]/' \
-e H \
-e g \
-e 's/\n//'
----------------------------------------

なんとなしsedの勉強してしまった、本買う気にはならないけどね。
http://web.archive.org/web/19961202111128/http://yase.yajima.kuis.kyoto-u.ac.jp/staffs/sengoku/sedlec/

No. 4350 # has 2005/11/05 (土) 11:03:28
>>4346 hagu
もしperlならこんな感じなんでしょうか?
echo $NM | perl -ple 'y/A-Z/a-z/;substr($_,0,1)=~y/a-z/A-Z/;'

No. 4351 # 2005/11/05 (土) 13:43:04
>>4347
>>4348 hagu

連想配列の場合、表示の順序は、ハッシュ法に従うのでランダムとなります。
すみません。

echo $NM | nawk '{for(i=1;i<=length($0); i++) if(i==1) {NM[i]=substr($0,i,1)} else {NM[i]=tolower(substr($0,i,1))}} END{for(j=1; j<i; j++) printf("%c",NM[j]); printf("\n")}'

No. 4352 # hagu 2005/11/05 (土) 13:58:38
>>4349 マーブル
凄い。
sedだけでですね。
でも、凄く、複雑すぎます。

>>4351
今度は、期待したいた結果が得られました。
awkを使っているのも複雑ですね。

No. 4353 # zsh 2005/11/05 (土) 14:28:08
>>4352 hagu
これじゃだめ?

$ echo $NM | nawk '{ a=toupper(substr($0,1,1)); b=tolower(substr($0,2)); printf "%s%s\n",a,b; }'

No. 4354 # 2005/11/05 (土) 23:53:05
>>4353 zsh

そうですよね。
substr()で2文字目以降すべてを変換してしまえばいんですよね。
何、ループで1文字ずつ変換し、表示しているんだろう。

No. 4355 # マーブル 2005/11/06 (日) 02:06:34
あまり知られていないscanfの用法。
既出でしたか残念。>>4041>>4042
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/scanf.3.html

以下同意
-------------------------------------
sscanf(host_path,"%[^/]%s",host,path);
-------------------------------------
p = strchr(host_path, '/');
if ( p != NULL ){
    strcpy(path, p);
    *p = '\0';
    strcpy(host, host_path);
} else {
    strcpy(host, host_path);
}
-------------------------------------

No. 4356 # マーブル 2005/11/08 (火) 01:39:16
fdopen()で作成されたストリームが閉じられたときにファイル記述子も 閉じられる。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fdopen.3.html
よって以下のページのL:125は不要です。
http://x68000.q-e-d.net/~68user/net/c-http-2.html

No. 4357 # 68user 2005/11/08 (火) 02:42:15
>>4356 マーブル
ありがとうございます。とりあえず POSIX を確認させてください (明日以降)。
    http://www.opengroup.org/onlinepubs/009695399/functions/fdopen.html

No. 4358 # 68user 2005/11/08 (火) 02:51:42
>>4357 68user
明日以降と言いつつ今確認してみましたが、POSIX にはそういう記述は
ないように見えます。また、Solaris9 のマニュアルにも書いてないように
見えます。
    http://www.freebsd.org/cgi/man.cgi?query=fdopen&sektion=3C&manpath=SunOS+5.9

しかし BSD ならば、4.4BSD-Lite2 にはそのような記述があります。
    http://www.freebsd.org/cgi/man.cgi?query=fdopen&manpath=4.4BSD+Lite2&format=html

Solaris や HP-UX が手元にある方にお願いなのですが、fdclose して fclose した
ときにソケットディスクリプタがクローズされるかどうか truss コマンドなどで
確認していただけないでしょうか (わたしのまわりは FreeBSD と Linux しかないので)。

いずれにせよ何かしらの補足は追記したいと考えています。

No. 4359 # 68user 2005/11/08 (火) 03:00:02
>>4358 68user
> fdclose して fclose したときに
「fdopen して fclose したときに」の誤りでした。

ちなみに「UNIX ネットワークプログラミング第2版」からは、この件についての
記述を読み取ることはできませんでした。

No. 4360 # マーブル 2005/11/08 (火) 04:30:12
>>4359 68user
機種依存等深く考えずに書き込んでしまって申し訳ございません。
また知合いに話せる人がいない為に決めつけたような書き込みになってしまったこともお詫びします。

基本的にFILE構造体にfileディスクリプタが含まれているものと理解していたもので、
fclose時に連動してcloseされるかな?と単純に考えてしまいました。

trussで確認した結果が以下でcloseされているようでした(これおもしろいですね)
SunOS eibw23 5.9 Generic_112233-03 sun4u sparc SUNW(Solaris8か9)
-----------------------------------------------------------
read(0, 0xFF3414EC, 1024) (sleeping...)
read(0, "\n", 1024) = 1
llseek(3, 0, SEEK_CUR) = 0
close(3) = 0
read(0, 0xFF3414EC, 1024) (sleeping...)
read(0, "\n", 1024) = 1
_exit(0)

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