>>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スクリプトをかませてみます。 他に何かありましたらご教示下さい。 |
>>4233 まつ > が、他サーバーで出来ているので腑に落ちません。 想像ですが、OS インストール時に ja_JP.PCK を選択すると うまく動くのかもしれません。 |
>>4233 まつ 問題のあるサーバだけLC_ALLが設定されていませんか? localeコマンドの結果を比較してみてください。 どちらのサーバでも設定されているのであれば 導入されているロケールパッケージ(?)の差だと思います。 |
>>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 とすれば良いのでしょうか? 宜しくお願い致します。 |
>>4232 68user >コネクションが切れた場合は、connect しなおす必要があります。 コレクションが切れているか否かの検知ですが、クライアントからsendを 行ったときのタイムアウトを検知したときが一般的でしょうか (むしろこれしかない?) 宜しくお願いします。 |
>>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 不整合 - ` ---------------------------------------------------- |
>>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 |
>>4237 しず send はローカルの mbuf にデータをコピーしたら正常終了と みなすので、エラーになりません。 recv でエラーになるか、次回の send で EPIPE が発生するかの いずれかです。 |
>>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の結果に差があるのが原因でしょうか?? 文字コードって奥が深いというか複雑というか厄介ですね。。(^^; |
>>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 結果を比較してみてはどうですか? |
>>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 ----------------------------------------------------------------- 何が悪いのか分かりますか?? |
>>4243 まつ わたしが言いたいのは - スクリプトの先頭で LANG を設定しても、既に字句解析は 終了しているのだから意味がないのでは。 - うまく動く環境では、元々 ja_JP.PCK が設定されていただけでは。 ということです。 > stat: No such file or directory これは別問題ですよね。 #!/bin/csh -f echo "チェック" が動くかどうかを確認すべきです。 |
あと、 Locale could not be set properly についてはわかりません。 こちらの環境では、ja_JP.PCK ロケールがない場合のみ このエラーが出て、ロケールがある環境ではうまく動きました。 |
>>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 スクリプトかますのが簡単だと思います。) |
>>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 となりました。 |
68user様、zsh様、返事が遅くなり大変申し訳ございません。m(_ _)m >>4246 zsh とてもよく分かりました。 .profileは / にも /etc にもありませんでしたが、子プロセス起動時に 間違ったLC_ALLを設定しているのが原因なのですね。 子プロセスを再起動すれば解決するのでしょうね。 開発依頼者へお願いしても中々動いてくれません・・(T^T) なので、このスクリプトのみをEUC-JPに変えてunsetenv LC_ALLしたところ 正常に実行できました。 ということで、wrapperスクリプトをかまして確認してませんが、お二人の 仰ることに間違いはないですから、その旨開発依頼者へ報告しておきます。 色々有り難うございました。助かりました。m(_ _)m これで心置きなくお盆休みに入れます(^^) |
スクリプトをシフト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 |
たわむれに 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 ... とすれば直ると思います。 |
findコマンドでファイルが今日(本日)作成されたものだけを 抽出したいのですが、以下でよいのでしょうか; find . -name '*.*' -mtime -1 -print 他に別の方法がありますか。 |
>>4251 みのさん ・ファイル名で絞り込まないのであれば -name オプションは不要です。 ・-mtime -1 では「本日作成」ではなく、「24時間以内に変更」されたものが対象となります。 (作成日をみるようなオプションは無いと思います。) ・-print オプションは無くても出力されます。 ・ファイルに限定したいのであれば -type f が必要です。 こんなもんでしょうか。 |
>>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§=2 |
>>4250 68user RFC のタイトルだけでなく、全文検索もできるようにしました (namazu を使っているので Ajax には向かないですが)。 http://X68000.q-e-d.net/~68user/rfc/ 結構使えるかも、と思うのはわたしだけですかそうですか。 |
>>4254 68user JavaScript必須というのが、いきなり敷居が高いと申しますか、何と申しますか・・・ 今みたいに、帰省先でpoorな環境で使っていると、その時点で引いてしまっております。 >>4250 68user ここでポイントしている>>4294が、4294まで投稿が伸びたときに、どうなるか、気になるところです。 |
> 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 |
>>4253 68user フォローありがとうございます。 -ctime オプションは使ったことが無いですね。 (使う場面もない・・・) >>4254 68user Ajax を弄ってみたいと思っていたので、 サンプルとして参考にさせて頂きます。 >>4256 みのさん 変数OFSで出力用の区切り文字を指定できます。 |
>>4257 zsh >変数OFSで出力用の区切り文字を指定できます。 ありがとうございます。 上手くいきました。 |
>>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 |
>>4259 68user お礼だけで、確認結果を報告せず申し訳ありません。 > とするのが一般的。しかし手抜きするなら以下のような方法も。 > % find . -type f -ls | grep "`date '+%b %d'`" で試してみました。 確かに、本日作成のファイルが表示されました。 date '+%b %d'でgrepをしているため、1年前の同じ日付のものが表示 されます。 |
>>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]" とかですかね。 とはいえ所詮は手抜きな方法なのでおすすめはしません。 |
>>4261 68user >とはいえ所詮は手抜きな方法なのでおすすめはしません。 > % find . -type f -ls | grep "`date '+%b %d'` [0-9][0-9]:[0-9][0-9]" >とかですかね。 手抜きとは言っても期待した結果は得られました。 |
今日から仕事復帰しました。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 ・・・ ---------------------------------- 以上、宜しくお願い致します。 |
>>4263 まつ > 具体的には、下記のようにすれば良いという事でしょうか? その通りです。 |
こんにちわ。19日はお休みを頂いておりました。 >>4264 68user 御礼が遅くなりました。 有り難う御座いました。m(_ _)m |
リダイレクションの操作について教えて下さい。 環境は、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 何故なのでしょうか。 |
>>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 何故なのでしょうか。 |
便利なページありがとうございます。 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 値 だと思います。 |
>>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 値 ごもっともであります。遅くとも明日までには修正します。 |
>>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 |
>>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 については、冗長なんですね。 本来なら、エラーになるはずなの実際には動いているので、おかしいとは 思っていました。 使わない方がよさそうですね。 |
>>4271 つよし > 本来なら、エラーになるはずなの実際には動いているので 冗長ですが、エラーではありません。 2>&1 >&kekka.txt は 2>&1 >kekka.txt 2>&1 と同じですが、ひとつのディスクリプタについての複製を複数回行っても 別にエラーにはなりません。 この例では最初の 2>&1 で 2 の出力先が stdout になりますが、後の 2>&1 で 2 の出力先が kekka.txt になり、意味がないだけです。 |
>>4272 68user 解説、アドバイスありがとうございます。 |
初めて質問させて頂きます。 Solaris9のサーバからmailxコマンド(sendmailを設定済み)を使用してメールサーバ経由で クライアントにE-MAILを送信しようとしています。 問題が一つありまして、クライアントのOUTLOOKで見たとき件名が文字化け してしまいます。 色々調べたところ、sendmailでは文字化けしてしまうのはどうしようもないと 聞きました。 Solaris9でメールを送信できるソフトウェアで件名が文字化けしないようなもの を知っていたら教えて頂けませんか? (メールサーバ側クライアントのメールの設定は変更できません) |
>>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 を読んでください。 |
UNIX 上のPDFファイルをftp転送してPC上で読み込みたいのですが、 転送後にファイルが壊れているとのことで読み込めません。 何かいい方法はありますでしょうか |
>>4277 ろく バイナリモードで転送してますか? |
>>4276 # 68user 回答有難うございます。 試してみます。 |
Solaris8i、shシェルで以下のような処理をしようとしています。 番号が同じもの同士の値を足し算してその和を求めています。 ファイルフォーマット 番号,値 001,10 001,20 001,30 002,5 003,15 003,20 004,100 結果 001,60 002,5 003,35 004,100 としたいのですが、どうすればよいですか。 |
>>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 ------------------------ |
>>4281 zsh >Solarisi・・・って部分は置いといて。 間違えた・・・Solaris8iだ・・・ |
はじめまして。ネットワークプログラミングのページを参考にさせてもらっています。 で、以下の部分、 >>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]と見ているようです。 リソースをいくつかのブロック(例えばライン毎など)に分けているのかなーと。 んん。標準な資料を探し中です。 |
>>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 --------------------------- 効率悪そうだ..。 |
>>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 |
続々と投稿されているので投稿してみます。 >>4280 くま awkなら、 $ nawk -F, '{v[$1]+=$2;}END{for(k in v) print k","v[k]}' data.txt | sort とできると思います。 /+ data.txt -> データファイル +/ |
>>4286 nagadomi nagadomiさんのコード凄いですね。 1行で実現してしまうなんて。 自分も、1行で実現できないかと試みてはみたのですが、良い案が浮かび ませんでした。 向学として教えていただきたいのですですが、 番号の比較、判断していませんが、何故、上手く出来ているのですか。 >'{v[$1]+=$2;}END{for(k in v) print k","v[k]}' 宜しくお願いします。 |
>>4286 nagadomi うわー、awkってforでその表記できるんだっけー。 すっかり忘れてました。 最近awk触っていなかったとは言え、恥ずかしい・・・ >>4287 シャチ >for(k in v) は、配列vの値を一つ一つ変数kに代入してループするという意味です。 |
>>4288 zsh ×配列vの値を一つ一つ変数kに代入してループする ○配列vの添字を一つ一つ変数kに代入してループする |
>>4287 シャチ zshのおっしゃるとおりです。 Perlでいうforeach的な使い方です。 >>4288 zsh awkは、1年ほど前に1日(プログラム一個..)使ったことがあるだけだったので、 実はリファレンスをちょっと見ました。 そこでforeachあるじゃんと..。知らない分、確認するのでうまくいった感じですかね..。 zshさんのコードは、ソートを考えて、あのような書き方をしているのかと思っていました。 私は普段、こういうのにはPerlを使っています。 |
>>4288 zsh 番号の比較、判断していませんが、前後が同じかどうかの判断は どこでしているのですか。 >{v[$1]+=$2;} で判断しているのですか。 お願いします。 >>4290 nagadomi Perlを使うのが便利なのですか。 Perlは、人が作ったのをメンテナンスするため1日調べたのみです。 |
>>4288 zsh 配列vの添え字が、番号なんですね。 だから、番号の配列要素に割り当てられた値が使用できるから 番号の比較、チェックが不要なんですね。 添え字には、数値しか使用できなと思っていました。 文字列も使えるんですね。 |
>>4283 nagadomi なるほど、length ですか。RFC をあさってみましたが、まだ見つけられません。 発見したらぜひ教えてください。 関係あるかな? と思いつつ、まだちゃんと読んでいない資料: http://www.cs.utah.edu/~danderse/adns/arch.html http://www.zeroconf.org/Rendezvous/txtrecords.html |
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 と出力したいのです。 お願いします。 |
>>4294 hagu 案1. file1.txt を while で 1行ずつ読み込み、読み込んだ行が file2.txt に含まれるかを grep で調べる。 案2. file1.txt と file2.txt をそれぞれ sort し、diff をとって、 行頭が < か、> かを調べる。重複する行は…どうしましょうねぇ。 案3. perl でハッシュに突っ込む。3行くらいで書けそうな気がします。 |
>> 4295 perl使用したことありません。 書くとしたらどうなりますか。 案1ですと、file1.txtで調べたあと、file2.txtのみで存在する物も調べるので 同様の処理が必要になります。重複する行が2回でることになります。 |
>>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 のみ ・行頭がスペースなら重複行 ですかね。 |
>>4294 hagu 1.file1.txtとfile2.txtを辞書順にソートする。 2.diffコマンドで、file1.txtとfile2.txtの差異を表示する。 diffコマンドの出力結果の見方は、ご存じですよね。 ">"は、右側に指定したファイル内に差異があることを示す。 "<"は、左側に指定たファイルにある差異があることを示す。 3.grepとかcutを使用して見やすいように編集。 4.file1.txtかfile2.txtをキーにして、grepで存在する文字列だけを抽出。 で、出来ると思います。 |
>>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,/' 順序よく並んでしまいますが。 |
>> 4299 ありがとうございます。 確認してみます。 |
>>4299 has ありがとうございます。 期待していた結果が得られました。 commというコマンドがあるのですね。 知りませんでした。 勉強になりました。 |
突然すみません。私は、いま卒業研究で動画像を処理しようとしてるものです。bmpファイルからppmやpgmへの一括変換はできたのですが、それらが生(raw)なので、つまりP6なので処理に困ってます。P3にしたいのですが大量のPPM、PGMをまとめてASCIIに変換することは可能でしょうか?よろしければ教えていただけると助かります。 |
>>4302 tana 試してませんが、ppmtogif して giftoppm で戻すとか。 |
giftoppmって一度に多数のファイルを変換できますか? |
>>4304 tana 知りませんが、もしできないとしても for i in *.ppm; do ppmtogif < $i | giftoppm > out/$i; done とか、 ls *.gif | sed 's/\(.*\)/ppmtogif < \1 | gitoppm > out\/\1/' | sh とか。 拡張子は適当に変更するということで。 |
blog なるものを始めてみました。 http://68user.blog27.fc2.com/ 入力が非常に面倒なのですが (HTML 手打ちと変わらない)、世の人たちは 使いこなしているんですかねぇ…。 |
日記を書く習慣の無い僕にとっては、blogを使う利点が未だに理解できないです。 もし、68userさんの視点でその利点を見出せたら、是非とも教えていただきたく、 宜しくお願いいたします。 追伸 FreeBSDでの活動は、今でもされているのですか? |
>>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> で囲んでみましたが、行間に変な間が 空いてしまい、結局スペースを に置換して張っていたりします。 「blog は更新が簡単」と世の人は言いますが、fc2 に限れば嘘です。 > FreeBSDでの活動は、今でもされているのですか? 最近はしていませんが、するべき立場にあります。すべてはモチベーションの 問題です。 |
>>4308 68user なるほど。コメントがつけられる掲示板のような使い方+トラックバックですね。 コメント:誰でも簡単に書きやすい。 トラックバック:細かい指摘事項が伝わりやすい。 ってところでしょうか。仕組みとしては、やりたいことに一番近そうに見えますが、 >「blog は更新が簡単」と世の人は言いますが、fc2 に限れば嘘です。 恐らく、今流行っているタイプのblogの使用目的に合致していない、と思います。 ・・・と言いつつ、実はblogを理解して無いので、間違った事を言っているかもしれませんが。 >すべてはモチベーションの問題です それはいえるかもしれませんね。元同僚は、とある部分のソースを書くという 立場にいるそうですが、結構(手続きが?)大変だ、といってましたし。 自分の時間がとれて、収入に余裕があって、FreeBSDに絶対に貢献したいという 意思が無ければ、なかなか腰が上がらないのだと、勝手ながら推測しております。 |
突然ですみません、UNIX初心者です。 UNIXにて以下の様な事がしたいのですが、よい方法があれば教えて下さい。 随時追加されるあるファイル(aaa.txt)の内容を行単位ででCプログラムで読込みたい。 条件) 1.aaa.txtは行単位に随時追加される。 2.Cプログラムに渡すのはある文字が含まれる行のみ。 以下の様なことを試したのですが、うまくいきませんでした。 tail -f aaa.txt | grep ABC | Cプログラム ※Cプログラムは今の所、標準入力(gets)から読み込むだけのプログラムです。 |
>>4309 へにか > なるほど。コメントがつけられる掲示板のような使い方+トラックバックですね。 そうですね。ただ、コメントやトラックバックより、思いついたことを すぐに書くための場所、という方がわたしにとっては重要かなと思っています。 > 恐らく、今流行っているタイプのblogの使用目的に合致していない、と思います。 いや、ただインタフェースがイマイチなだけだと思います。空白を に 変換してくれればそれで解決する話ですから。 >>4310 UNIX初心者 こちらを。 http://x68000.q-e-d.net/~68user/cgi-bin/wwwboard.cgi?log=2800 |
>tail -f log | perl -ne '$|=1;print if m/foo/' >> log2 で試してみたのですが、perlがインストールされていない為、エラーとなってしまいました。 今回は急ぐので、プログラムで対応してしまいました。 また、利用させて下さい、ありがとうございました。 |
>>4312 UNIX初心者 解決したとのことなので返信不要ですが、perl がないなら % tail -f aaa.txt | awk '/ABC/{print;system("")}' | Cプログラム ですかね。FreeBSD 5.2.1-RELEASE ではうまくいきました。 |
Solaris8のBシェルで、CSV形式のデータのソートを行っています。 数字順にソートしたいのですが、ソート対象の列が半角英数のため 数字順になりません。うまい方法はないでしょうか。 英字が先頭にある場合は、英字を取り除いて数字順にしたいのです。 うまい方法はないでしょうか。 sortコマンドだけでは、だめでした。 --データ 山本 こうたろう,企画,100 山下 大介,企画,A101 山田 太郎,営業,80 山田 花子,営業,A92 山田 一郎,営業,A82 鈴木 一郎,販売,85 鈴木 一郎,海外,1001 松井 英樹,海外,2001 斉藤 次郎,製造,125 佐藤 三郎,組立,A124 武藤 五郎,検査,130 --結果 山田 太郎,営業,80 山田 一郎,営業,A82 鈴木 一郎,販売,85 山田 花子,営業,A92 山本 こうたろう,企画,100 山下 大介,企画,A101 佐藤 三郎,組立,A124 斉藤 次郎,製造,125 武藤 五郎,検査,130 鈴木 一郎,海外,1001 松井 英樹,海外,2001 sortコマンドの「-n」を付けてやってみたのですが、数値として判断するため 上手くできません。 また、付けないと、数値順に並んでくれません。 |
>>4314 hagu 訂正です。 名前の前に社員IDがあり、 半角英数字でソートし、社員IDでソートとなります。 データは、「社員ID、名前、仕事、コード」 コードの半角英数字で数字順に並び替えで、 コードが同じな場合は、社員IDで並び替えです。 英字が先頭にある場合は、英字を取り除いて数字順にしたいのです。 No.4314の結果にしたいのです。 |
>>4314 hagu 101 と A101 という社員 ID が存在する可能性があるか、存在するならソート順は どうするかという仕様が不明確ですが、それは置いておくとして。 > 山本 こうたろう,企画,100 > 山下 大介,企画,A101 > 山田 太郎,営業,80 > 山田 花子,営業,A92 わたしなら一度 sed などで 山本 こうたろう,企画,,100 山下 大介,企画,A,101 山田 太郎,営業,,80 山田 花子,営業,A,92 と別項目にし、sort して、再度 sed で元に戻します。 |
>>4316 68user ありがとうございます。 一度、コードの値を分解しには、気がつきませんでした。 いいかも知れません。 >101 と A101 という社員 ID が存在する可能性があるか、存在するならソート順は >どうするかという仕様が不明確ですが、それは置いておくとして。 コードでソートした後、同じコードないで、社員IDをソートします。 ただし、数字のコードは、数字のコード内で、 英字付きのコードは、英字付きコード内で、 社員IDを並びかえます。 |
お世話になります。 C言語でHTTPクライアントを作成しています。ここのサイトもありますが、自作で行いました。 AのHPを取得してうまく表示されますが、BのHPを取得すると、表示されません。 取得したページのヘッダ情報はどっちも異常はありませんでした。 デバックではどっちでも表示されます。でも、BのHPが取得しても表示されません。 何か助言をして頂けたら幸いです。よろしくお願い致します。 |
>>4318 匿名希望 - 現象が再現する最小限まで削ったソースを提示してください。 - A と B の URL を提示してください。 - そちらで実行した結果を提示してください (ヘッダ情報とかデバッグを含む全部) - OS・コンパイラなどの情報を提示してください。 なお、UNIX 以外であれば、わたしはコンパイル環境がないのでわかりません。 |
初めて投稿します。 自分はSSLを組み込もうとしていろいろ調べているんですが、 調べていると、WindowsでのSSLの設置方法がかかれてないんです。 やっっぱりリナックスで設置したほうがいいのでしょうか? |
>>4320 SSL初心者 まずは検索を。 http://www.google.co.jp/search?q=windows+apache2+ssl&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8 |
お世話になります。 「マッケーブの循環的複雑度」を出力するツールを探しており、 当ホームページから コマンドcccc(C言語・C++・Java のソース コードのステップ数を調べるツール。)を探し当てました。 ところが、身近にあるサーバで試してみると、 $ cccc hoge.java -bash: cccc: command not found と出力されます。 コマンドccccを実行するための条件等、ありますでしょうか。 ご教示、よろしくお願いします。 |
初めまして。 『UNIXの部屋』の localtime(3) のサンプルコードにある tm_timeの一連の変数参照が間違っています。 |
>> 4322 http://x68000.q-e-d.net/~68user/unix/pickup?Command+not+found 2 又は 6 では無かろうか. |
サーバーの件でメールをお送りしました |
すみません。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 ご意見お待ちしております |
シェル内にて以下の記述を入れるとエラーが発生します。 ■エラー発生箇所 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_}"の部分がエラーとなっているようですがここでは変数は使用できないのでしょうか? |
>>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_} を外に出します。 |
>>4323 ミケフォ > 『UNIXの部屋』の localtime(3) のサンプルコードにある > tm_timeの一連の変数参照が間違っています。 ありがとうございます。bugid 18 として登録しました。 http://x68000.q-e-d.net/~68user/bugnote/viewbug.php?projectid=1&bugid=18 # 登録する暇があるなら、さっさと直せと。 |
すみません,昨日18時頃から本日11時まで サーバーの通信が切れていました. 昨日13時頃に回線工事があって無事完了したのですが, 終端装置の接続が雑だったらしく,17時頃に突然接続が落ちました. すぐ業者に連絡したのですが既に営業時間外で, 朝まで修理を呼べませんでした. 本日11時に業者が来て直りました. ご報告まで. |
お世話になります。 C言語でHTTPクライアントを作成してますが、HTTPSの場合のポート番号が サイトを探しても見つからないですが、ご存知でしょうか? よろしくお願い致します。 |
>>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 |
>>4332 68user ありがとうございます。 初歩的ですみません(^ ^;)> |