68user's page 掲示板

Prev< No. 4268〜4284> Next  [最新発言に戻る] [過去ログ一覧]
No. 4268 # とおりすがり 2005/09/03 (土) 16:49:30
便利なページありがとうございます。

http://x68000.q-e-d.net/~68user/net/http-auth-2.html

> 「A1のMD5値 + nonce値 + ":" + nc値 + ":" cnonce値 + ":" + qop値 + A2のMD5値」の MD5 値
ですが、
正しくは、
「A1のMD5値 + ":" + nonce値 + ":" + nc値 + ":" cnonce値 + ":" + qop値 + ":" + A2のMD5値」の MD5 値
だと思います。

No. 4269 # 68user 2005/09/03 (土) 17:47:56
>>4267 つよし
とりあえずこれを読んでください。
    http://X68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8

以下、手元に bash しかないため、sh では試していません。
間違いがあれば補足願います>Solaris な方

> ls -l file1.txt file2.txt 2>&1 >&kekka.txt
> 標準出力と標準エラーを、kekka.txtファイルに出力。
> 何故なのでしょうか。
そもそもこれは冗長です。
    >&kekka.txt
だけで標準出力と標準エラー出力が kekka.txt にリダイレクトされます。
sh において (csh も同じですが)、
    >&ファイル名
は、標準出力と標準エラー出力をまとめてファイルにリダイレクトするもの
だからです。

> ls -l file1.txt file2.txt 1>&2 2>&kekkat.xt
> sh kekka.txt: ambiguous redirect
> 何故なのでしょうか。
ファイルへのリダイレクトは「>&」ではなく「>」を使うべきだからです。

sh のリダイレクトには以下の 2パターンがあると考えるとよいでしょう。
    1. >ファイル名
    2. [数字]>&[数字]

さらにタイプ量を減らすため、
    3. >&ファイル名 (>ファイル名 2>&1 と同じ)
という syntax sugar があります。よって、

    [数字]>&ファイル名

はおかしいです。とはいえ 1>&ファイル名 は通ってしまいますが。

>>4268 とおりすがり
> 正しくは、
> 「A1のMD5値 + ":" + nonce値 + ":" + nc値 + ":" cnonce値 + ":" + qop値 + ":" + A2のMD5値」の MD5 値
ごもっともであります。遅くとも明日までには修正します。

No. 4270 # 68user 2005/09/04 (日) 06:36:46
>>4268 とおりすがり
修正いたしました。ご指摘ありがとうございました。

http://X68000.q-e-d.net/~68user/net/http-auth-2.html
http://X68000.q-e-d.net/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/http-auth-2.html

No. 4271 # つよし 2005/09/04 (日) 11:09:38
>>4267 つよし

>りあえずこれを読んでください。
>http://X68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8
参考になります。
特に「2>&1」の説明については、「2 の出力先を 1 にマージする」で覚えと説明している
本もありました。

>&kekka.txt
については、冗長なんですね。
本来なら、エラーになるはずなの実際には動いているので、おかしいとは
思っていました。
使わない方がよさそうですね。

No. 4272 # 68user 2005/09/04 (日) 13:14:05
>>4271 つよし
> 本来なら、エラーになるはずなの実際には動いているので
冗長ですが、エラーではありません。
      2>&1 >&kekka.txt

      2>&1 >kekka.txt 2>&1
と同じですが、ひとつのディスクリプタについての複製を複数回行っても
別にエラーにはなりません。

この例では最初の 2>&1 で 2 の出力先が stdout になりますが、後の
2>&1 で 2 の出力先が kekka.txt になり、意味がないだけです。

No. 4274 # つよし 2005/09/05 (月) 21:33:59
>>4272 68user

解説、アドバイスありがとうございます。

No. 4275 # ひで 2005/09/06 (火) 12:43:52
初めて質問させて頂きます。
Solaris9のサーバからmailxコマンド(sendmailを設定済み)を使用してメールサーバ経由で
クライアントにE-MAILを送信しようとしています。

問題が一つありまして、クライアントのOUTLOOKで見たとき件名が文字化け
してしまいます。

色々調べたところ、sendmailでは文字化けしてしまうのはどうしようもないと
聞きました。

Solaris9でメールを送信できるソフトウェアで件名が文字化けしないようなもの
を知っていたら教えて頂けませんか?
(メールサーバ側クライアントのメールの設定は変更できません)

No. 4276 # 68user 2005/09/06 (火) 23:21:58
>>4275 ひで
普通はプログラム側で MIME エンコードして、sendmail に渡します。
試していませんが、mailx に渡しても多分うまくいくでしょう。

詳しくは
    http://X68000.q-e-d.net/~68user/webcgi/mail-1.html
    http://X68000.q-e-d.net/~68user/webcgi/mail-2.html
を読んでください。

No. 4277 # ろく [E-mail] 2005/09/08 (木) 11:08:08
UNIX 上のPDFファイルをftp転送してPC上で読み込みたいのですが、
転送後にファイルが壊れているとのことで読み込めません。
何かいい方法はありますでしょうか

No. 4278 # zsh 2005/09/08 (木) 13:04:24
>>4277 ろく
バイナリモードで転送してますか?

No. 4279 # ひで 2005/09/08 (木) 17:47:12
>>4276 # 68user

回答有難うございます。
試してみます。

No. 4280 # くま 2005/09/09 (金) 01:17:16
Solaris8i、shシェルで以下のような処理をしようとしています。
番号が同じもの同士の値を足し算してその和を求めています。

ファイルフォーマット
番号,値
001,10
001,20
001,30
002,5
003,15
003,20
004,100

結果
001,60
002,5
003,35
004,100

としたいのですが、どうすればよいですか。

No. 4281 # zsh 2005/09/09 (金) 13:45:10
>>4280 くま
Solarisi・・・って部分は置いといて。

shというかnawkですが、以下のようにやればできます。
(awkでは動きません。)
------------------------
$ nawk -F, '
        /^[0-9]+,[0-9]+$/ {
                var[$1] = $2;
        } END {
                for (i=0; i<=999; ++i) {
                        j = sprintf("%03d",i);
                        if (j in var) print j "," var[j];
                }
        }' data.txt
------------------------

No. 4282 # zsh 2005/09/09 (金) 17:58:45
>>4281 zsh
>Solarisi・・・って部分は置いといて。
間違えた・・・Solaris8iだ・・・

No. 4283 # nagadomi [E-mail] 2005/09/09 (金) 22:41:30
はじめまして。ネットワークプログラミングのページを参考にさせてもらっています。
で、以下の部分、
>>DNS クライアントを作ってみよう (3)
>リソースデータは「&Sorry, no version string is available」と表示されるが、
>dig や nslookup は「Sorry, no version string is available」となります (& がない)。
>先頭の & を削るような規則があるようだが、それが何なのかはわからなかった。

これ、'&'=38で、リソースのlengthみたいです。
きちんとした資料では、まだ見つけられていないのですが、
djbdnsのソースコード(dns_txt.c)上では、ドメイン名と同じように、
[length][data][length][data]と見ているようです。
リソースをいくつかのブロック(例えばライン毎など)に分けているのかなーと。

んん。標準な資料を探し中です。

No. 4284 # nagadomi [E-mail] 2005/09/09 (金) 22:44:42
>>4280 くま
Solaris8iは手元にないので試していないですが、shで。

---------------------------
#!/bin/sh

# デリミタを[,]に
IFS=,

# キーのリスト
list=""

# 計算
while read key value; do
                eval "if test -z \$array$key;then array$key=0; fi"
                eval \array$key=`eval "expr \\$array\$key + \$value"`
                list=$list,$key
done < data.txt

# 重複したキーを削除する
clone=`echo "$list" | sed 's/^,//'`
for key in $clone; do
                list=`echo "$list" | sed "s/$key//g" | sed 's/,[,]*/,/g'`
                list=$list,$key
done

# 表示
list=`echo "$list" | sed 's/^,//'`
list=`echo "$list" | sed 's/,$//'`

for key in $list; do
                echo -n $key,
                eval echo \$array$key
done
---------------------------
$ sh test.sh
001,60
002,5
003,35
004,100
---------------------------

効率悪そうだ..。

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