68user's page 掲示板

Prev< No. 4252〜4275> Next  [最新発言に戻る] [過去ログ一覧]
No. 4252 # zsh 2005/08/14 (日) 20:52:40
>>4251 みのさん
・ファイル名で絞り込まないのであれば -name オプションは不要です。
・-mtime -1 では「本日作成」ではなく、「24時間以内に変更」されたものが対象となります。
    (作成日をみるようなオプションは無いと思います。)
・-print オプションは無くても出力されます。
・ファイルに限定したいのであれば -type f が必要です。

こんなもんでしょうか。

No. 4253 # 68user 2005/08/14 (日) 22:20:56
>>4251 みのさん
追加。

- 一般的な UNIX のタイムスタンプには、厳密な意味でのファイル作成時刻は
    存在しない。ctime は、例えばパーミッションを変更すると更新される。
- 「24時間以内」ではなく「本日」にしたいなら、適当なファイルを
      作って、touch で mtime を前日 23:59:59 にして、
          find -newer [適当なファイル]
      とするのが一般的。しかし手抜きするなら以下のような方法も。
          % find . -type f -ls | grep "`date '+%b %d'`"

>>4252 zsh
BSD や GNU の find には -ctime オプションがあります。-cnewer ってのも
あるようですね (基準ファイルの mtime と検索対象の ctime を比較)。


今日の発見その 1

touch(1) などが使うシステムコール utimes(2) って、ctime を更新できない
んですねぇ。atime・ctime・mtime いずれも変更可能だとずっと思っていました。

今日の発見その 2

FreeBSD 5.x 以降で対応された UFS2 では本当の生成時刻 (inode 作成時刻) が
保存されていて、struct stat の st_birthtime で参照可能なようです。へぇ。
    http://www.usenix.org/events/bsdcon03/tech/full_papers/mckusick/mckusick_html/
    http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=stat&dir=jpman-5.2.0%2Fman&sect=2

No. 4254 # 68user 2005/08/15 (月) 00:05:35
>>4250 68user
RFC のタイトルだけでなく、全文検索もできるようにしました
(namazu を使っているので Ajax には向かないですが)。
      http://X68000.q-e-d.net/~68user/rfc/

結構使えるかも、と思うのはわたしだけですかそうですか。

No. 4255 # へにか [URL] 2005/08/15 (月) 07:21:28
>>4254 68user
JavaScript必須というのが、いきなり敷居が高いと申しますか、何と申しますか・・・
今みたいに、帰省先でpoorな環境で使っていると、その時点で引いてしまっております。

>>4250 68user
ここでポイントしている>>4294が、4294まで投稿が伸びたときに、どうなるか、気になるところです。

No. 4256 # みのさん 2005/08/15 (月) 15:23:21
> 4523
ありがとうございます。

別なんですが、
カンマ区切りのCSV形式のデータを読み込み
nawkのsub関数を使用して文字列の置換をやっています。
フィールド2番目のみを入れ替えようとして以下の様に
しました。
置換は行われたのですが、カンマが半角スペースに置換え
られて出力されてしますのです。
カンマのまま出力させるには、どうすればよいのですか。


nawk -F"," -v OUT=${OUT_FILE} -v OLD=${OLD_STR} -v NEW=${NEW_STR} '
BEGIN {
          output=sprintf("%s",OUT);
}
function func(OLD,NEW) {
        (処理)

        sub($2,NEW,$2) ; print >> output ;

        (処理)
}
        func(OLD,NEW);
}' $IN_FILE

No. 4257 # zsh 2005/08/15 (月) 18:18:37
>>4253 68user
フォローありがとうございます。
-ctime オプションは使ったことが無いですね。
(使う場面もない・・・)

>>4254 68user
Ajax を弄ってみたいと思っていたので、
サンプルとして参考にさせて頂きます。

>>4256 みのさん
変数OFSで出力用の区切り文字を指定できます。

No. 4258 # みのさん 2005/08/15 (月) 20:35:01
>>4257 zsh

>変数OFSで出力用の区切り文字を指定できます。
ありがとうございます。
上手くいきました。

No. 4259 # 68user 2005/08/15 (月) 21:48:19
>>4255 へにか
> JavaScript必須というのが、いきなり敷居が高いと申しますか
RFC の検索がやりたかったわけではなく、Ajax で遊んでみたかった
だけなので、Javascript 必須なのはなにとぞご勘弁を。

>>4256 みのさん
お礼だけではなく、結果報告をしていただけるとうれしいです。
    http://x68000.q-e-d.net/~68user/cgi-bin/wwwboard.cgi?howtouse

>>4257 zsh
> Ajax を弄ってみたいと思っていたので、
> サンプルとして参考にさせて頂きます。
学習目的ならば
    http://chasen.org/~taku/software/ajax/ime/
の方がシンプルでよいと思います。ただし上記 URL の
    if (oldkey != key) {
        oldkey = key;
        if (xmlhttp.readyState == 1 ... ){ return; }
は、正しくは
    if (oldkey != key) {
        if (xmlhttp.readyState == 1 ... ){ return; }
        oldkey = key;
です (とわたしは思っています)。


ところで、「RFC 検索」に RFC の日本語訳へのリンク機能を追加しました。
    http://X68000.q-e-d.net/~68user/rfc/?key=http&target=title

No. 4260 # みのさん 2005/08/16 (火) 01:52:27
>>4259 68user
お礼だけで、確認結果を報告せず申し訳ありません。

> とするのが一般的。しかし手抜きするなら以下のような方法も。
> % find . -type f -ls | grep "`date '+%b %d'`"
で試してみました。
確かに、本日作成のファイルが表示されました。
date '+%b %d'でgrepをしているため、1年前の同じ日付のものが表示
されます。

No. 4261 # 68user 2005/08/16 (火) 02:32:19
>>4260 みのさん
> date '+%b %d'でgrepをしているため、1年前の同じ日付のものが表示
> されます。
なるほど。
    本日の分は Aug 16 02:16
    昨年以前は Aug 16 2004
などと表示されるので、
    % find . -type f -ls | grep "`date '+%b %d'` [0-9][0-9]:[0-9][0-9]"
とかですかね。

とはいえ所詮は手抜きな方法なのでおすすめはしません。

No. 4262 # みのさん 2005/08/17 (水) 10:35:25
>>4261 68user

>とはいえ所詮は手抜きな方法なのでおすすめはしません。
> % find . -type f -ls | grep "`date '+%b %d'` [0-9][0-9]:[0-9][0-9]"
>とかですかね。

手抜きとは言っても期待した結果は得られました。

No. 4263 # まつ 2005/08/18 (木) 14:32:11
今日から仕事復帰しました。m(_ _)m

>>4250 68user

>unsetenv LC_ALL には意味がないので、
> env LC_ALL= LANG=ja_JP.PCK ...
> とすれば直ると思います。

確認させて下さい。
具体的には、下記のようにすれば良いという事でしょうか?

-----wrapper.sh------------------
#!/bin/sh -fx
exec env LC_ALL= LANG=ja_JP.PCK /disk01/hoge/hoge01/sh/FNC0123.csh
-----FNC0123.csh------------------
#!/usr/bin/csh
#コメントアウトunsetenv LC_ALL
・・・
----------------------------------

以上、宜しくお願い致します。

No. 4264 # 68user 2005/08/19 (金) 15:45:20
>>4263 まつ
> 具体的には、下記のようにすれば良いという事でしょうか?
その通りです。

No. 4265 # まつ 2005/08/22 (月) 15:10:13
こんにちわ。19日はお休みを頂いておりました。
>>4264 68user
御礼が遅くなりました。
有り難う御座いました。m(_ _)m

No. 4266 # 2005/09/03 (土) 15:56:14
リダイレクションの操作について教えて下さい。
環境は、Solaris8、シェルは、shです。

file1.txtファイルは存在。
file2.txtファイルは存在しません。
の状況で、lsの結果をリダイレクションを使ってファイルに出力
しています。

ls -l text1.txt text2.txt > kekka.txt 2>&1
標準出力と標準エラーを、kekka.txtファイルに出力。

ls -l text1.txt text2.txt 2>&1 > kekka.txt
標準出力のみ、kekka.txtに出力。

ls -l text1.txt text2.txt 2>&1 2> kekka.txt
標準エラーのみ、kekka.txtに出力。


ls -l text1.txt text2.txt 2>&1 >&kekka.txt
標準出力と標準エラーを、kekka.txtファイルに出力。
何故なのでしょうか。

ls -l file1.txt file2.txt 1>&2 2>&kekkat.xt
sh kekka.txt: ambiguous redirect
何故なのでしょうか。

No. 4267 # つよし 2005/09/03 (土) 16:00:54
>>4266

No.4266の書込み内容が間違っていました。名前も中途半端です。
訂正も含め再書込みします。

リダイレクションの操作について教えて下さい。
環境は、Solaris8、シェルは、shです。

file1.txtファイルは存在。
file2.txtファイルは存在しません。
の状況で、lsの結果をリダイレクションを使ってファイルに出力
しています。

ls -l file1.txt file2.txt > kekka.txt 2>&1
標準出力と標準エラーを、kekka.txtファイルに出力。

ls -l file1.txt file2.txt 2>&1 > kekka.txt
標準出力のみ、kekka.txtに出力。

ls -l file1.txt file2.txt 2>&1 2> kekka.txt
標準エラーのみ、kekka.txtに出力。


ls -l file1.txt file2.txt 2>&1 >&kekka.txt
標準出力と標準エラーを、kekka.txtファイルに出力。
何故なのでしょうか。

ls -l file1.txt file2.txt 1>&2 2>&kekkat.xt
sh kekka.txt: ambiguous redirect
何故なのでしょうか。

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

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