68user's page 掲示板

Prev< No. 4225〜4312> Next  [最新発言に戻る] [過去ログ一覧]
No. 4225 # mmm 2005/08/08 (月) 22:27:24
"ネットワークプログラミングの基礎知識"等にある
サンプルプログラムのライセンスはどうなっているのでしょうか?

No. 4226 # 匿名 2005/08/09 (火) 01:42:54
>>4222 へにか
危ない
その輩は
server:os-ns01.usen.ad.jp
address:61.122.127.122
name:221x242x135x85.ap.221.ftth.ucom.ne.jp
address:221.242.135.85

私は
server:os-ns01.usen.ad.jp
address:61.122.127.122
name:*******
address:61.116.228.135
なんですけどサーバーが同じだと危ないのですかね?

No. 4227 # zsh 2005/08/09 (火) 08:05:37
>>4225 mmm
過去ログ読んでから質問した方がいいですよ。
ライセンスについては
>>4089 68user
にあります。

No. 4228 # りゅう 2005/08/09 (火) 16:14:15
すいません、質問させてください。

UNIX上で、ファイルをmac用にstuffit形式に圧縮できるツールを探しているのですが、
ありますでしょうか。

No. 4229 # しず 2005/08/09 (火) 16:48:11
素人ですが質問させてください。
solaris9 cにて開発しています。
クライアントサーバ間を常駐プロセス1:1(クライアント1、サーバ1プロセス)にて
TCP/IPソケット通信しようと考えています。
1接続毎にconnect/closeするのではなく、常にconnectionし続けようと考えています。
そこで、質問ですが、通信中にサーバ側がなんらかの理由により切断された場合、クライアント側は
connectからやり直す必要があるのでしょうか?
それともsendを行えば内部的にconnectを行って、sendしてくれるんでしょうか?
質問が下手ですみません。

No. 4230 # まつ 2005/08/09 (火) 20:29:19
環境はSunOS 5.8です。

------------------------
#!/bin/csh -fx
setenv LANG ja_JP.PCK
・・・
------------------------
というrootから起動されるshellスクリプトを実行すると
(あるバッチ処理管理ソフトを使って起動するとrootから起動されるのです)

setenv LANG ja_JP.PCK
Locale could not be set properly

というエラーになってしまうのですが、何故か分からず困っています。
助けて下さい。 m(_ _)m

telnetでuser01でログインしてsetenvを実行すると
LANG=ja_JP.PCK
となっていますが、上記スクリプトにsetenvを記述すると
LANGは表示されません。

スクリプトにsetenv LANG ja_JP.PCKを記述しないと
echo チェックリスト作成処理(/disk1/hoge/hoge01/sh/AAA001.csh) 開始
Unmatched `
というエラーになります。
telnetでuser01でログインして実行するとsetenv LANG ja_JP.PCKが
なくても正常終了します。

どうぞ宜しくお願い致します。

No. 4231 # へにか 2005/08/09 (火) 21:53:25
>>4226 匿名
> なんですけどサーバーが同じだと危ないのですかね?
う〜ん、僕には力不足で答えられないです。ところで危ないって、どういう局面を想定されていますか?

しかし、その輩、ftth.ucom.ne.jpって、FTTH! うらやましいなぁ。そんな贅沢な帯域があるんだったら、有効に使ってほしい今日この頃です。

No. 4232 # 68user 2005/08/09 (火) 23:45:17
>>4224 へにか
なるほど、そちらも参考にさせていただきます。

>>4226 匿名
> server:os-ns01.usen.ad.jp
というのは、あなたが使用している DNS サーバが os-ns01.usen.ad.jp
であることを示しているだけです。普通は、どの IP アドレス・FQDN に
ついて正引きや逆引きをしても、「server」の部分は変化しません。

>>4228 りゅう
シェアウェアっぽいですが、
    http://www.stuffit.com/unix/index.html
など。あと、
    http://www.asl.ee.meisei-u.ac.jp/kaken/stuffit.j.html
によると netatalk にも含まれているとか。

>>4229 しず
> connectからやり直す必要があるのでしょうか?
コネクションが切れた場合は、connect しなおす必要があります。

>>4230 まつ
よくわかりませんが、手元の Solaris8 でも同様の結果になりました。setenv が
呼ばれると、シェルは putenv(3) するだけではなく setlocale(3) あたりも呼ぶ
必要があるような気がしますが、Solaris8 の csh はそこの処理にバグがあるのでは
ないかと思います。

csh をやめて sh・tcsh・ksh などに切り替えるか、あるいは
    #!/bin/sh
    exec env LANG=ja_JP.PCK 実行したいスクリプト名
というような wrapper スクリプトをかませてはどうでしょうか。

No. 4233 # まつ 2005/08/10 (水) 00:29:48
>>4232 68user
他のサーバー(同じくSunOS5.8だったはずです)では同じように
rootから実行できているのです。何かが違うのでしょうね。。

両サーバーのrootの環境を比較するなりしてみます。
#サーバー管理者へ依頼する必要があるのですが・・・

社内の人より下記で逃げられるという指摘もありました
が、他サーバーで出来ているので腑に落ちません。
-----------------------------
unsetenv LC_ALL
setenv LANG ja_JP.PCK
setenv PATH .:$PATH

/usr/bin/env

set echocmd=/usr/bin/echo
$echocmd 'チェックリスト作成処理($0) 開始'
-----------------------------


それでも分からなければwrapperスクリプトをかませてみます。

他に何かありましたらご教示下さい。

No. 4234 # 68user 2005/08/10 (水) 04:49:13
>>4233 まつ
> が、他サーバーで出来ているので腑に落ちません。
想像ですが、OS インストール時に ja_JP.PCK を選択すると
うまく動くのかもしれません。

No. 4235 # zsh 2005/08/10 (水) 08:46:36
>>4233 まつ
問題のあるサーバだけLC_ALLが設定されていませんか?
localeコマンドの結果を比較してみてください。

どちらのサーバでも設定されているのであれば
導入されているロケールパッケージ(?)の差だと思います。

No. 4236 # まつ 2005/08/10 (水) 10:37:03
>>4235 zsh
お察しの通り、問題のあるサーバだけLC_ALLが設定されていました!

--動かないサーバー-----------
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=JA16SJIS
--問題ないサーバー-----------
LANG=ja_JP.PCK
LC_CTYPE="ja_JP.PCK"
LC_NUMERIC="ja_JP.PCK"
LC_TIME="ja_JP.PCK"
LC_COLLATE="ja_JP.PCK"
LC_MONETARY="ja_JP.PCK"
LC_MESSAGES="ja_JP.PCK"
LC_ALL=
-----------------------------

1、rootでLC_ALLが設定されているという事でしょうか?
2、問題ないサーバーと同じ環境にするには何処を直せば良いのでしょうか?
3、2がサーバー管理方針などで変更できない場合、C-Shellで
            unsetenv LC_ALL
            setenv LANG ja_JP.PCK
        とすれば良いのでしょうか?

宜しくお願い致します。

No. 4237 # しず 2005/08/10 (水) 11:05:30
>>4232 68user
>コネクションが切れた場合は、connect しなおす必要があります。
コレクションが切れているか否かの検知ですが、クライアントからsendを
行ったときのタイムアウトを検知したときが一般的でしょうか
(むしろこれしかない?)

宜しくお願いします。

No. 4238 # まつ 2005/08/10 (水) 11:28:44
>>4235 zsh
試しに下記を実行してみましたが、元に戻ってしまいました。。
echo内の日本語が文字化け?して「`」になっている為でしょうが
何故未だ日本語が表示できないのでしょうか?
問題ないサーバーではダブルコーテーションで囲まれてるのに
下記結果では囲まれてないのがダメなのでしょうか?
----------------------------------------------------
#!/usr/bin/csh -fx

locale
unsetenv LC_ALL
setenv LANG ja_JP.PCK
setenv LC_CTYPE ja_JP.PCK
setenv LC_NUMERIC ja_JP.PCK
setenv LC_TIME ja_JP.PCK
setenv LC_COLLATE ja_JP.PCK
setenv LC_MONETARY ja_JP.PCK
setenv LC_MESSAGES ja_JP.PCK
locale
echo "ロードエラーチェックリスト作成処理($0) 開始"
----------------------------------------------------
locale
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=JA16SJIS
unsetenv LC_ALL
setenv LANG ja_JP.PCK
setenv LC_CTYPE ja_JP.PCK
setenv LC_NUMERIC ja_JP.PCK
setenv LC_TIME ja_JP.PCK
setenv LC_COLLATE ja_JP.PCK
setenv LC_MONETARY ja_JP.PCK
setenv LC_MESSAGES ja_JP.PCK
locale
LANG=ja_JP.PCK
LC_CTYPE=ja_JP.PCK
LC_NUMERIC=ja_JP.PCK
LC_TIME=ja_JP.PCK
LC_COLLATE=ja_JP.PCK
LC_MONETARY=ja_JP.PCK
LC_MESSAGES=ja_JP.PCK
LC_ALL=
echo [hG[`FbNXg(/disk18/acua/acua01/sh/FNC07998.csh) Jn
不整合 - `
----------------------------------------------------

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 4239 # 68user 2005/08/10 (水) 11:53:31
>>4238 まつ
実験してみましたが、うまくいかないサーバには ja_JP.PCK の
ロケールがインストールされていないようです。
>>4232 68user
で「csh のバグでは」と言いましたがこれは誤りで、csh だけが
真面目にエラーチェックしているような感じです。

動かないマシン (Solaris8) の /usr/lib/locale/ja_JP.PCK/:
    LC_MESSAGES/

動くマシン (Solaris2.6) の /usr/lib/locale/ja_JP.PCK/:
    LC_CTYPE/
    LC_MESSAGES/
    LC_TIME/
    ja_JP.PCK.so.1
    locale_description
    methods_ja_JP.PCK.so.1

そして ja_JP.PCK ロケールが含まれているマシンであっても、
    #!/bin/csh
    setenv LANG ja_JP.PCK
    echo "ロードエラーチェックリスト作成処理($0) 開始"
このスクリプトは動作しませんでした。おそらく、ja_JP.PCK にした
時点では、既にスクリプトの字句解析は終了しているからだろうと思います。

対策案は 3つ。

案1.
    - ja_JP.PCK ロケールをインストールする。インストール方法は知りませんが、
        以前他のマシンから /usr/lib/locale/ja_JP.PCK/ をぶっこ抜いてきたことが
        あったっけ。
    - さらに wrapper スクリプトを作る

案2.
    Shift_JIS の「チ」の 2バイト目が ` であることが直接の原因なわけで、
          echo 'ロードエラーチェックリスト作成処理('$0') 開始'
    などと '' で囲んで ` を解釈させないようにする。

案3.
    一番いいのは、スクリプトを EUC-JP に変えて、ロケールを混在
    させないこと。

あと、
> LC_ALL=JA16SJIS
というロケールは存在しないので、おそらく無効なロケール扱いされて
いるでしょう。JA16SJIS って Oracle 的なロケール表記ですから。

LANG と LC_* の関係は以下の URL をどうぞ。
    http://www.jp.freebsd.org/QandA/HTML/2199.html
    http://www.jp.freebsd.org/QandA/HTML/2200.html

No. 4240 # 68user 2005/08/10 (水) 12:32:18
>>4237 しず
send はローカルの mbuf にデータをコピーしたら正常終了と
みなすので、エラーになりません。

recv でエラーになるか、次回の send で EPIPE が発生するかの
いずれかです。

No. 4241 # まつ 2005/08/10 (水) 13:47:41
>>4239 68user
/usr/lib/locale/ja_JP.PCK/:を両サーバーで比較しましたが同じでした。

そして上手く行くサーバーでは
        #!/bin/csh
        setenv LANG ja_JP.PCK
        echo "ロードエラーチェックリスト作成処理($0) 開始"
も動作しました。

LANG と LC_* の関係、有り難うございます。勉強になります。
#!/bin/csh -fx
locale
unsetenv LC_ALL
setenv LC_ALL ja_JP.PCK
setenv LANG ja_JP.PCK
unsetenv LC_ALL
locale
env
として、うまくいくサーバーと同じlocaleに出来ましたがそれでも不整合になります。

env実行結果
--上手く行くサーバー-----------------------------------------
HOME=/export/home/adm
HZ=100
LANG=ja_JP.PCK
LOGNAME=adm
MAIL=/var/mail/adm
PATH=/opt/oracle/product/8.1.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:
PS1=#
PWD=/opt/netos/bin
SHELL=/bin/csh
TERM=vt100
TZ=Japan
USER=adm
_INIT_NET_STRATEGY=none
_INIT_PREV_LEVEL=S
_INIT_RUN_LEVEL=3
_INIT_RUN_NPREV=0
_INIT_UTS_ISA=sparc
_INIT_UTS_MACHINE=sun4u
_INIT_UTS_NODENAME=isv1dm10
_INIT_UTS_PLATFORM=SUNW,Ultra-Enterprise-10000
_INIT_UTS_RELEASE=5.8
_INIT_UTS_SYSNAME=SunOS
_INIT_UTS_VERSION=Generic_108528-16
--上手く行かないサーバー-----------------------------------------
HOME=/
HZ=100
LOGNAME=root
PATH=/usr/sbin:/usr/bin:/opt/EMCpower/bin:/etc:/usr/ccs/bin:/usr/local/bin
SHELL=/sbin/sh
TERM=vt100
TZ=Japan
PWD=/opt/netos5/bin
USER=root
LANG=ja_JP.PCK
-----------------------------------------------------------------
この辺の環境が違うのがダメなのでしょうか?

案1はja_JP.PCK ロケールはインストールされており上記でLANGの設定も
出来たので、案からは外れたと思います。

案2ですが、echoをダブルコーテーションで囲むのとシングルコーテーションで
囲むのでは解釈が異なるのですね??  知りませんでした。。

案3ですが、うまくいくサーバーではShift_JISで動作しているので
腑に落ちません。。envの結果に差があるのが原因でしょうか??

文字コードって奥が深いというか複雑というか厄介ですね。。(^^;

No. 4242 # 68user 2005/08/10 (水) 14:07:10
>>4241 まつ
> /usr/lib/locale/ja_JP.PCK/:を両サーバーで比較しましたが同じでした。
そうですか、謎ですね。

> そして上手く行くサーバーでは
>  #!/bin/csh
>  setenv LANG ja_JP.PCK
>  echo "ロードエラーチェックリスト作成処理($0) 開始"
> も動作しました。
それは最初から LC_CTYPE が ja_JP.PCK になっているからではないですか?
LANG・LC_* を全部クリアして、このスクリプトが動きますか? うちの ja_JP.PCK
ロケールがインストールされている Solaris2.6 ではエラーになりました。

> 案3ですが、うまくいくサーバーではShift_JISで動作しているので
> 腑に落ちません。。envの結果に差があるのが原因でしょうか??
ロケールを統一ってのは、例えばログのエンコーディングがばらばら
だったりすると grep するにも面倒でしょ、というレベルの話です。

うまくいかないサーバで、
    #!/bin/csh -f
    echo "ロードエラーチェックリスト作成処理($0) 開始"
のスクリプトを root で
    % env LANG=ja_JP.PCK [スクリプト名]
とすると動くのですよね?

あと、うまくいかないサーバで、
    - root で実行するとエラー
    - user01 で実行するとうまく動く
ということですよね?

root と user01 のログイン後の env 結果を比較してみてはどうですか?

No. 4243 # まつ 2005/08/10 (水) 14:39:48
>>4242 68user
上手く行くサーバーで
----------------
unsetenv LC_ALL
unsetenv LANG
locale
env
echo "ロードエラーチェックリスト作成処理($0) 開始"
----------------
としたら
-----------------------------------------
LANG=
LC_CTYPE="C"
・・・
_INIT_UTS_VERSION=Generic_108528-16
(/data/keisu/ffile/shell/Data_Unqget.sh)
-----------------------------------------
となりました。。二バイト文字が無視されている??

> うまくいかないサーバで、
> #!/bin/csh -f
> echo "ロードエラーチェックリスト作成処理($0) 開始"
> のスクリプトを root で
> % env LANG=ja_JP.PCK [スクリプト名]
> とすると動くのですよね?
私にはrootで実行する権限がなく、あるバッチ管理ツール経由で
起動させているのですが、そのツールに
env LANG=ja_JP.PCK /disk01/hoge/hoge.csh
と記述して起動させると
stat: No such file or directory
となってしまいました。。

> あと、うまくいかないサーバで、
> - root で実行するとエラー
> - user01 で実行するとうまく動く
> ということですよね?
そうです。
バッチ管理ツールはそのツールプロセスを起動させた時点の
起動したユーザ環境が引き継がれるのですが、rootでその
ツールを起動させています。
telnetでuser01でログインして実行すると上手く動くのです。

> root と user01 のログイン後の env 結果を比較してみてはどうですか?
以下のとおりです。
------------root-------------------------------------------------
#スクリプトにenvを書いてツールから実行させて吐き出した結果です
HOME=/
  HZ=100
  LOGNAME=root
  PATH=/usr/sbin:/usr/bin:/opt/EMCpower/bin:/etc:/usr/ccs/bin:/usr/local/bin
  SHELL=/sbin/sh
  TERM=vt100
  TZ=Japan
  PWD=/opt/netos5/bin
  USER=root
  LANG=ja_JP.PCK
------------user01-------------------------------------------------
HOME=/export/home/user01
PATH=/opt/ora8i/app/oracle/product/8.1.7/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/ucb:
/etc:.
LOGNAME=user01
HZ=100
TERM=vt100
TZ=Japan
SHELL=/bin/csh
MAIL=/var/mail/user01
LANG=ja_JP.PCK
_INIT_NET_STRATEGY=none
_INIT_PREV_LEVEL=S
_INIT_RUN_LEVEL=3
_INIT_RUN_NPREV=0
_INIT_UTS_ISA=sparc
_INIT_UTS_MACHINE=sun4u
_INIT_UTS_NODENAME=atras01
_INIT_UTS_PLATFORM=SUNW,Sun-Fire-480R
_INIT_UTS_RELEASE=5.8
_INIT_UTS_SYSNAME=SunOS
_INIT_UTS_VERSION=Generic_108528-22
PWD=/export/home/user01
USER=user02
ORACLE_BASE=/opt/ora8i/app/oracle
ORACLE_HOME=/opt/ora8i/app/oracle/product/8.1.7
ORACLE_SID=SID_A
NLS_LANG=Japanese_Japan.JA16SJIS
ORA_NLS33=/opt/ora8i/app/oracle/product/8.1.7/ocommon/nls/admin/data
LD_LIBRARY_PATH=/opt/ora8i/app/oracle/product/8.1.7/lib
-----------------------------------------------------------------
何が悪いのか分かりますか??

No. 4244 # 68user 2005/08/10 (水) 14:48:11
>>4243 まつ
わたしが言いたいのは
    - スクリプトの先頭で LANG を設定しても、既に字句解析は
        終了しているのだから意味がないのでは。
    - うまく動く環境では、元々 ja_JP.PCK が設定されていただけでは。
ということです。

> stat: No such file or directory
これは別問題ですよね。
    #!/bin/csh -f
    echo "チェック"
が動くかどうかを確認すべきです。

No. 4245 # 68user 2005/08/10 (水) 14:52:25
あと、
    Locale could not be set properly
についてはわかりません。

こちらの環境では、ja_JP.PCK ロケールがない場合のみ
このエラーが出て、ロケールがある環境ではうまく動きました。

No. 4246 # zsh 2005/08/11 (木) 08:16:27
>>4243 まつ
メッセージの意味としては、選択されたロケールが使用できない状態(つまりインストールされていない)
である事を示しています。

恐らく今の状態は
1./etc/profile か /.profileで LC_ALL を設定している。(且つ間違い)
2.当然 root から生成された子プロセスにも LC_ALL が設定されている(且つ間違い)
3.LANG を変更する際に( LC_ALL が空ではないので) LC_ALL のロケールについても
    チェックされる
        →存在しないロケールなので「Locale could not be set properly」を出力
            (ただし LANG は変更されている筈)
だと思います。
一般ユーザで動作するのであれば、PCK ロケールはインストールされているので
文字化けの原因は、親プロセスの環境変数の違いによるのかも知れません。つまり
>>4244 68user
ではないかと。
(確認するためには wrapper スクリプトかますのが簡単だと思います。)

No. 4247 # 68user 2005/08/11 (木) 10:03:09
>>4246 zsh
> 3.LANG を変更する際に( LC_ALL が空ではないので) LC_ALL のロケールに
> ついてもチェックされる
なるほど、それは気がつきませんでした。

ja_JP.PCK ロケールがインストールされている Solaris2.6 で、LC_ALL に
JA16SJIS をセットして、さらに LANG に ja_JP.PCK をセットすると、
      Locale could not be set properly
となりました。

No. 4248 # まつ 2005/08/12 (金) 11:43:03
68user様、zsh様、返事が遅くなり大変申し訳ございません。m(_ _)m

>>4246 zsh
とてもよく分かりました。
.profileは / にも /etc にもありませんでしたが、子プロセス起動時に
間違ったLC_ALLを設定しているのが原因なのですね。

子プロセスを再起動すれば解決するのでしょうね。
開発依頼者へお願いしても中々動いてくれません・・(T^T)

なので、このスクリプトのみをEUC-JPに変えてunsetenv LC_ALLしたところ
正常に実行できました。

ということで、wrapperスクリプトをかまして確認してませんが、お二人の
仰ることに間違いはないですから、その旨開発依頼者へ報告しておきます。

色々有り難うございました。助かりました。m(_ _)m
これで心置きなくお盆休みに入れます(^^)

No. 4249 # まつ 2005/08/12 (金) 14:28:36
スクリプトをシフトJISへ戻してwrapperスクリプトをかませて
テストしてみました。

-----wrapper.sh------------------
#!/bin/sh -fx
exec env LANG=ja_JP.PCK /disk01/hoge/hoge01/sh/FNC0123.csh
-----FNC0123.csh------------------
#!/usr/bin/csh
unsetenv LC_ALL
・・・
-----ツールから実行した結果------------------
couldn't set locale correctly
+ exec env LANG=ja_JP.PCK /disk01/hoge/hoge01/sh/FNC0123.csh
・・・
-----------------------

のように最初に変なメッセージが表示されますが、それ以降は
文字化けもなく理想どおりの結果が得られました。

最初の変なメッセージは間違ったLC_ALLを設定している為でしょうか?

何はともあれ、これで子プロセスを再起動してもしなくても正常に
動作しそうです。

どうも有り難う御座いました。m(._.)m

No. 4250 # 68user 2005/08/14 (日) 04:11:57
たわむれに Ajax で遊んでみました。RFC のタイトルから検索を行います。
    http://X68000.q-e-d.net/~68user/rfc/

以下のような URL も有効です。
    http://X68000.q-e-d.net/~68user/rfc/?key=821
    http://X68000.q-e-d.net/~68user/rfc/?key=http

XMLHttpRequest をひとつしか生成しないタイプではなく、ばしばし XMLHttpRequest を
作る、富豪版です (google タイプ)。ソースはこちら。
    http://X68000.q-e-d.net/~68user/cgi-bin/cvsweb.cgi/public_html/rfc/

>>4294 hagu
> 最初の変なメッセージは間違ったLC_ALLを設定している為でしょうか?
unsetenv LC_ALL には意味がないので、
    env LC_ALL= LANG=ja_JP.PCK ...
とすれば直ると思います。

No. 4251 # みのさん 2005/08/14 (日) 16:20:35
findコマンドでファイルが今日(本日)作成されたものだけを
抽出したいのですが、以下でよいのでしょうか;

find . -name '*.*' -mtime -1 -print

他に別の方法がありますか。

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

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
---------------------------

効率悪そうだ..。

No. 4285 # シャチ 2005/09/10 (土) 10:00:34
>>4280 くま
以下ので出来ると思います。

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

nawk -F"," '
        BEGIN {
        }
function syukei() {
        total=0+0;
        no=$1;

        while (NF>0) {
                if (no == $1) {
                        total = total + $2;
                } else {
                        printf("%03d:%d\n",no,total);
                        no=$1;
                        total=$2;
                }
                getline;
        }
        printf("%03d:%d\n",no,total);
}
{
        if (NF == 0) next ;
        syukei() ;
}' file.txt

exit 0

No. 4286 # nagadomi 2005/09/10 (土) 22:58:12
続々と投稿されているので投稿してみます。

>>4280 くま
awkなら、
$ nawk -F, '{v[$1]+=$2;}END{for(k in v) print k","v[k]}' data.txt | sort
とできると思います。
/+ data.txt -> データファイル +/

No. 4287 # シャチ 2005/09/11 (日) 15:03:55
>>4286 nagadomi

nagadomiさんのコード凄いですね。
1行で実現してしまうなんて。
自分も、1行で実現できないかと試みてはみたのですが、良い案が浮かび
ませんでした。

向学として教えていただきたいのですですが、
番号の比較、判断していませんが、何故、上手く出来ているのですか。

>'{v[$1]+=$2;}END{for(k in v) print k","v[k]}'
宜しくお願いします。

No. 4288 # zsh 2005/09/11 (日) 20:20:12
>>4286 nagadomi
うわー、awkってforでその表記できるんだっけー。
すっかり忘れてました。
最近awk触っていなかったとは言え、恥ずかしい・・・

>>4287 シャチ
>for(k in v)
は、配列vの値を一つ一つ変数kに代入してループするという意味です。

No. 4289 # zsh 2005/09/11 (日) 23:44:55
>>4288 zsh
×配列vの値を一つ一つ変数kに代入してループする
○配列vの添字を一つ一つ変数kに代入してループする

No. 4290 # nagadomi 2005/09/12 (月) 03:38:59
>>4287 シャチ
zshのおっしゃるとおりです。
Perlでいうforeach的な使い方です。

>>4288 zsh
awkは、1年ほど前に1日(プログラム一個..)使ったことがあるだけだったので、
実はリファレンスをちょっと見ました。
そこでforeachあるじゃんと..。知らない分、確認するのでうまくいった感じですかね..。

zshさんのコードは、ソートを考えて、あのような書き方をしているのかと思っていました。
私は普段、こういうのにはPerlを使っています。

No. 4291 # シャチ 2005/09/12 (月) 11:55:17
>>4288 zsh

番号の比較、判断していませんが、前後が同じかどうかの判断は
どこでしているのですか。
>{v[$1]+=$2;}
で判断しているのですか。
お願いします。

>>4290 nagadomi
Perlを使うのが便利なのですか。
Perlは、人が作ったのをメンテナンスするため1日調べたのみです。

No. 4292 # シャチ 2005/09/12 (月) 13:52:41
>>4288 zsh

配列vの添え字が、番号なんですね。
だから、番号の配列要素に割り当てられた値が使用できるから
番号の比較、チェックが不要なんですね。

添え字には、数値しか使用できなと思っていました。
文字列も使えるんですね。

No. 4293 # 68user 2005/09/13 (火) 00:28:29
>>4283 nagadomi
なるほど、length ですか。RFC をあさってみましたが、まだ見つけられません。
発見したらぜひ教えてください。

関係あるかな? と思いつつ、まだちゃんと読んでいない資料:
    http://www.cs.utah.edu/~danderse/adns/arch.html
    http://www.zeroconf.org/Rendezvous/txtrecords.html

No. 4294 # hagu 2005/09/16 (金) 02:32:13
Solaris8で、Bシェル(sh)で以下のことを行いたいのですが、
良い方法を教えてください。

2つのファイルの中身を比較し、その結果を表示したいのです。
--- file1.txt -----
hanako.sato
jiro.yamamoto
taro.yamada
taro-1.yamada
tsuyoshi.saito


--- file1.txt -----
jiro.yamamoto
taro-1.yamada
taro-2.yamada
gou.yamashita

結果
file1 Only, hanako.sato
match,jiro.yamamoto
file1 Only,taro.yamada
match,taro-1.yamada
file1 Only,tsuyoshi.saito
file2 Only,taro-2.yamada
file2 Only,gou.yamashita
と出力したいのです。

お願いします。

No. 4295 # 68user 2005/09/16 (金) 03:18:00
>>4294 hagu
案1. file1.txt を while で 1行ずつ読み込み、読み込んだ行が
          file2.txt に含まれるかを grep で調べる。
案2. file1.txt と file2.txt をそれぞれ sort し、diff をとって、
          行頭が < か、> かを調べる。重複する行は…どうしましょうねぇ。
案3. perl でハッシュに突っ込む。3行くらいで書けそうな気がします。

No. 4296 # hagu 2005/09/16 (金) 08:40:58
>> 4295

perl使用したことありません。
書くとしたらどうなりますか。

案1ですと、file1.txtで調べたあと、file2.txtのみで存在する物も調べるので
同様の処理が必要になります。重複する行が2回でることになります。

No. 4297 # 68user 2005/09/16 (金) 10:06:43
>>4296 hagu
Perl クックブック VOLUME 1 のレシピ 4.8・4.9 あたりを立ち読みして、
なんとかなりそうなら手を出してみるとよいでしょう。

> 重複する行が2回でることになります。
file2.txt を while で 1行ずつ読み込み、読み込んだ行が file1.txt に
含まれていれば何も表示しない、でいいのでは。

> 案2. file1.txt と file2.txt をそれぞれ sort し、diff をとって、
> 行頭が < か、> かを調べる。重複する行は…どうしましょうねぇ。
GNU diff があるなら (unified diff を出力できる diff があるなら)、
    % diff -u -U 10000 file1.txt file2.txt
として (10000 はファイルの行数を超える数)、
    ・行頭が - なら file1.txt のみ
    ・行頭が + なら file2.txt のみ
    ・行頭がスペースなら重複行
ですかね。

No. 4298 # シャチ 2005/09/17 (土) 11:00:02
>>4294 hagu

1.file1.txtとfile2.txtを辞書順にソートする。
2.diffコマンドで、file1.txtとfile2.txtの差異を表示する。
diffコマンドの出力結果の見方は、ご存じですよね。
">"は、右側に指定したファイル内に差異があることを示す。
"<"は、左側に指定たファイルにある差異があることを示す。

3.grepとかcutを使用して見やすいように編集。
4.file1.txtかfile2.txtをキーにして、grepで存在する文字列だけを抽出。

で、出来ると思います。

No. 4299 # has 2005/09/20 (火) 23:20:36
>>4294 hagu
動作未確認ですが、こういうのはダメですかね。

sort file1 | uniq > file1-2
sort file2 | uniq > file2-2
comm -23 file1-2 file2-2 | sed 's/^/file1 Only,/'
comm -13 file1-2 file2-2 | sed 's/^/file2 Only,/'
comm -12 file1-2 file2-2 | sed 's/^/common,/'

順序よく並んでしまいますが。

No. 4300 # hagu 2005/09/21 (水) 23:45:22
>> 4299
ありがとうございます。
確認してみます。

No. 4301 # hagu 2005/09/22 (木) 09:55:59
>>4299 has

ありがとうございます。
期待していた結果が得られました。

commというコマンドがあるのですね。
知りませんでした。
勉強になりました。

No. 4302 # tana 2005/10/01 (土) 17:56:09
突然すみません。私は、いま卒業研究で動画像を処理しようとしてるものです。bmpファイルからppmやpgmへの一括変換はできたのですが、それらが生(raw)なので、つまりP6なので処理に困ってます。P3にしたいのですが大量のPPM、PGMをまとめてASCIIに変換することは可能でしょうか?よろしければ教えていただけると助かります。

No. 4303 # 68user 2005/10/01 (土) 19:00:45
>>4302 tana
試してませんが、ppmtogif して giftoppm で戻すとか。

No. 4304 # tana 2005/10/01 (土) 22:40:59
giftoppmって一度に多数のファイルを変換できますか?

No. 4305 # 68user 2005/10/02 (日) 15:35:18
>>4304 tana
知りませんが、もしできないとしても
      for i in *.ppm; do ppmtogif < $i | giftoppm > out/$i; done
とか、
      ls *.gif | sed 's/\(.*\)/ppmtogif < \1 | gitoppm > out\/\1/' | sh
とか。

拡張子は適当に変更するということで。

No. 4306 # 68user 2005/10/02 (日) 15:37:52
blog なるものを始めてみました。
    http://68user.blog27.fc2.com/

入力が非常に面倒なのですが (HTML 手打ちと変わらない)、世の人たちは
使いこなしているんですかねぇ…。

No. 4307 # へにか [URL] 2005/10/03 (月) 06:52:49
日記を書く習慣の無い僕にとっては、blogを使う利点が未だに理解できないです。
もし、68userさんの視点でその利点を見出せたら、是非とも教えていただきたく、
宜しくお願いいたします。

追伸
FreeBSDでの活動は、今でもされているのですか?

No. 4308 # 68user 2005/10/03 (月) 15:43:22
>>4307 へにか
技術的なことは、最終的に web にまとめたいと思っています。しかしそれを
行うにはある程度の時間と労力がかかります。よって、とりあえず殴り書きを
するネタ帳として blog を活用できないかと考えました。

また、
    http://x68000.q-e-d.net/~68user/cgi-bin/wwwboard.cgi?log=4061
    http://x68000.q-e-d.net/~68user/cgi-bin/wwwboard.cgi?log=3774
のような、ひとつのコンテンツとしてまとめづらいメモを書く場所として
適切ではないだろうか、と思っています。

それと、コメントやトラックバックという仕組みがあるため、web よりは
フィードバックが得られるのではないかと。


しかし、perl+DBI のネタを書いてみてわかったのですが、わたしは完璧主義者
なので、結局はエディタで下書き・推敲しないと気がすまないようです。あまり
blog 向きではないのかもしれません。

あとこれは愚痴ですが、入力が非常に面倒です。まず、WRAP="OFF" 属性が付いて
いない TEXTAREA 要素の相手をすることが苦痛です。

また、ソースを張る際に <PRE>〜</PRE> で囲んでみましたが、行間に変な間が
空いてしまい、結局スペースを &nbsp; に置換して張っていたりします。
「blog は更新が簡単」と世の人は言いますが、fc2 に限れば嘘です。

> FreeBSDでの活動は、今でもされているのですか?
最近はしていませんが、するべき立場にあります。すべてはモチベーションの
問題です。

No. 4309 # へにか [URL] 2005/10/03 (月) 18:58:36
>>4308 68user
なるほど。コメントがつけられる掲示板のような使い方+トラックバックですね。
コメント:誰でも簡単に書きやすい。
トラックバック:細かい指摘事項が伝わりやすい。
ってところでしょうか。仕組みとしては、やりたいことに一番近そうに見えますが、
>「blog は更新が簡単」と世の人は言いますが、fc2 に限れば嘘です。
恐らく、今流行っているタイプのblogの使用目的に合致していない、と思います。
・・・と言いつつ、実はblogを理解して無いので、間違った事を言っているかもしれませんが。

>すべてはモチベーションの問題です
それはいえるかもしれませんね。元同僚は、とある部分のソースを書くという
立場にいるそうですが、結構(手続きが?)大変だ、といってましたし。
自分の時間がとれて、収入に余裕があって、FreeBSDに絶対に貢献したいという
意思が無ければ、なかなか腰が上がらないのだと、勝手ながら推測しております。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 4310 # UNIX初心者 2005/10/06 (木) 00:40:29
突然ですみません、UNIX初心者です。
UNIXにて以下の様な事がしたいのですが、よい方法があれば教えて下さい。
随時追加されるあるファイル(aaa.txt)の内容を行単位ででCプログラムで読込みたい。
条件)
1.aaa.txtは行単位に随時追加される。
2.Cプログラムに渡すのはある文字が含まれる行のみ。

以下の様なことを試したのですが、うまくいきませんでした。
tail -f aaa.txt | grep ABC | Cプログラム
※Cプログラムは今の所、標準入力(gets)から読み込むだけのプログラムです。

No. 4311 # 68user 2005/10/06 (木) 00:57:33
>>4309 へにか
> なるほど。コメントがつけられる掲示板のような使い方+トラックバックですね。
そうですね。ただ、コメントやトラックバックより、思いついたことを
すぐに書くための場所、という方がわたしにとっては重要かなと思っています。

> 恐らく、今流行っているタイプのblogの使用目的に合致していない、と思います。
いや、ただインタフェースがイマイチなだけだと思います。空白を &nbsp; に
変換してくれればそれで解決する話ですから。

>>4310 UNIX初心者
こちらを。
http://x68000.q-e-d.net/~68user/cgi-bin/wwwboard.cgi?log=2800

No. 4312 # UNIX初心者 2005/10/06 (木) 23:11:25
>tail -f log | perl -ne '$|=1;print if m/foo/' >> log2
で試してみたのですが、perlがインストールされていない為、エラーとなってしまいました。
今回は急ぐので、プログラムで対応してしまいました。
また、利用させて下さい、ありがとうございました。

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