|
>>4514 ロー 環境を書き忘れました。 UNIX:Soralis8 シェル:Bシェル |
|
UNIX の部屋 http://x68000.q-e-d.net/~68user/unix/ を更新しました。 >>4460 mkt > ・fgrep と Gimp の解説文が途中で切れてしまっているように思います。 fgrep については、とりあえず掲示板での発言にリンクを張りました。 http://x68000.q-e-d.net/~68user/unix/pickup?fgrep > ・記号の 2 項目め(「"」の項と思われる部分)の見出し行が抜け落ちてしまってます。 正しく表示されるようにしました。 http://x68000.q-e-d.net/~68user/unix/pickup?%22 " の解決のため、10年近くつぎはぎでやってきた汚い部分を全面的に見直し たため、もしかしたら UNIX の部屋の検索部分にエンバグしている可能性が あります。怪しい挙動を見つけられた方は教えていただけると幸いです。 >>4501 hidemaru > SSLv3のハンドシェイク処理の部分を実際に(Cで)実現する方法 >>4502 hidemaru > 環境は、vine linux 、 openssl-0.9.7d-0vl3.2 です。 OpenSSL を使っていいなら SSL_connect(3) を使えばいいですし、OpenSSL を 使わないなら「環境は OpenSSL」とわざわざ書く理由がわからないです。 >>4508 dynamite > SSL_shutdown()で0を返しERR_print_errors_fp には何も出力しないと > 推測しているのですが わたしもよくわかってませんが調べる時間がないです。すみません。 マニュアルにそう書いてありますか? >>4511 blueeyes > 本来welcome to hostname のところは今welcome to 1になりました。 原因はわかりません。リブートしても同じ挙動かどうか、シングル ユーザモードで起動するとどうなるか、/var/log に何か出ていないかを 確認してください。 >>4514 ロー > ls ${DIR}*.CSV | sed 's/$DIR}//g' '' で囲んだら変数展開されないので、"" で囲みましょう。変数展開できた としても s//home/guest///g は sed 的にエラーですが、これはまた別の話。 > ls、変数に格納し、awk等で、「test0005.CSV」を求めたいのですが。 「ls で表示したときに最後に表示される行」とみなせるのであれば、 echo $FileLst | awk '{print $NF}' など ($NF は gawk では動きましたが、一般的な awk で使用できるかどうかは わかりません)。 まぁ、awk には列で渡すのではなく、行で渡した方が幸せだと思うので、 ls /tmp/*.CSV | awk 'END { print }' の方がいいと思います。とか言い出すと、 ls /tmp/*.CSV | tail -1 でいいじゃん、って話になりますけどね。 |
|
>>4516 68user ありがとうございます。 >> ls ${DIR}*.CSV | sed 's/$DIR}//g' >'' で囲んだら変数展開されないので、"" で囲みましょう。変数展開できた >としても s//home/guest///g は sed 的にエラーですが、これはまた別の話。 ダブル「""」で囲んだら展開されませんでした。シングル「''」で囲んだら展開 されました。 > echo $FileLst | awk '{print $NF}' >など ($NF は gawk では動きましたが、一般的な awk で使用できるかどうかは >わかりません)。 一般的なawkでも使用できました。 >ls /tmp/*.CSV | awk 'END { print }' は、ダメでした 結果が得られませんでした。 |
|
>>4512 お FNR に現在処理しているファイルのカレントレコード番号が セットされるのに対して、NR には (n)awk が実行されてから 読み込んだレコード数がセットされています。 $ nawk '{ print "NR:" NR "/FNR:" FNR }' a.txt b.txt 等とすれば違いが確認できると思います。 >>4517 ロー Solarisの(n)awkでは $ /tmp/*.CSV | awk '{ f=$0; } END { print f }' のようにしないといけないようです。 |
|
>>4518 zsh ありがとうございます。 awkのmatch関数なのですが、awk内で使用するとエラーが ですのですが、どこか使い方がいけないのでしょうか。 抜粋ですが、 awk ' { pos=match($1,/.CSV$/); }' ${TEMPFILE} ファイル名から拡張子以降を取り除くため、拡張子までの 位置を求めようとしています。 awk: syntax error near line 10 awk: illegal statement near line 10 awk: 構文エラー (10 行目の周辺) awk: 不正な文を検出しました。 (10 行目の周辺) が発生します。 |
|
>>4519 お Solaris 標準の awk (/usr/bin/awk) には、match 関数が存在しません。 対応策としては (1)index 関数を使用する →ただし、index 関数は正規表現を使用できません。 (2)nawk を使用する (3)/usr/xpg4/bin/awk を使用する といった所でしょうか。 |