68user's page 掲示板

Prev< No. 4759〜4767> Next  [最新発言に戻る] [過去ログ一覧]
No. 4759 # ST 2007/01/28 (日) 15:46:17
はじめまして。STと申します。
CGI初心者です。
質問させていただきます。
「静的な画像表示」のところで、該当するソースをコピーして
サーバーにアップした後http://〜cgiと入力しGIFファイルを表示させようとすると
「GIF89aX」と表示されます。
パーミッションはOKで画像ファイルは存在します。
解決方法を教えていただけますと幸いです。
よろしくお願いします。

No. 4760 # 68user 2007/01/28 (日) 16:45:43
>>4759 ST
http://chaichan.web.infoseek.co.jp/qanda/qa7041.htm
に一本化ということで。

No. 4761 # 68user 2007/02/13 (火) 22:13:46
http://x68000.q-e-d.net/~68user/webcgi/sample/perl/graph-maker.cgi
にて日本語を出す方法のメモ。

% cvs di -u
cvs diff: Diffing .
Index: graph-maker.cgi
===================================================================
RCS file: /home/68user/cvsroot/public_html/webcgi/sample/perl/graph-maker.cgi,v
retrieving revision 1.9
diff -u -r1.9 graph-maker.cgi
--- graph-maker.cgi 26 Feb 2006 08:31:21 -0000 1.9
+++ graph-maker.cgi 13 Feb 2007 13:12:16 -0000
@@ -886,6 +886,8 @@
                }
          }

+ GD::Text->font_path( "/usr/local/share/fonts/TrueType/" );
+ $graph->set_title_font("sazanami-gothic", 14 );
          my $image = $graph->plot($ref_data) or die "Cannot create image";

          binmode STDOUT;

No. 4762 # べた 2007/02/15 (木) 16:05:07
findコマンドの使い方について教えて下さい。

findコマンドで検索を行う場合、指定したディレクトリ内だけ
検索を行い、下位のディレクトリは対象外にしたいのですが
できるのでしょうか。

例えば、/tmp配下を検索するとして、
/tmp
/tmp/backup
/tmp/save
とあった場合、
/tmp内だけを検索し、/tmp/backupや、/tmp/saveなどの下位ディレクトリ内
は見ないようにしたいのです。

find /tmp -name "*.csv" ! -size 0 -print

ドキュメントに、「-prune」がありましたが、指定すると、表示すべきものが
でてきません。上手くいきませんでした。

find /tmp -name -prune "*.csv" ! -size 0 -print
find /tmp -name "*.csv" -prune ! -size 0 -print

また、ファイル名は、ワイルドカード指定なので、表示後のgrepなども
使えません。

環境は、
Solaris8
Bシェル

No. 4763 # 68user 2007/02/16 (金) 00:33:04
>>4762 べた
試してませんが、
    % find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print
ですかね。

とはいえ、
    - maxdepth オプションを使える find をインストールする
    - grep '^/[^/]*/[^/]*$' としてパスに '/' が 2個以上含まれないことを
        チェックする
    - ls -l /tmp/*.csv | awk '$5~/^0$/{print $9}'
などの方法がよいような気もします。

No. 4764 # べた 2007/02/16 (金) 13:06:41
>> 4763

ありがとうございます。

>% find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print
ですが、配下のディレクトリを全て網羅するのは。。。
また、試してみましたが、直下のファイルがでませんでした。

> - maxdepth オプションを使える find をインストールする
> - grep '^/[^/]*/[^/]*$' としてパスに '/' が 2個以上含まれないことをチェックする
実際には、パスに、’/’が2個以上含まれるているので無理かと。

> - ls -l /tmp/*.csv | awk '$5~/^0$/{print $9}'
これが、一番よい方法になるのですかね。

No. 4765 # 68user 2007/02/16 (金) 15:23:55
>>4764 べた
> 直下のファイルがでませんでした。
FreeBSD では表示されました。Solaris の find は出ないのでしょうか。

> 実際には、パスに、’/’が2個以上含まれるているので無理かと。
「3個以上」の誤りでした。

ベストなのは「/tmp/ 直下に置くといういまいちな仕様を直す」だと
思いますが、それができれば苦労してないんでしょうね。

No. 4766 # べた 2007/02/16 (金) 17:48:15
>>4765 68user

ありがとうございます。
> find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print
ですが、
期待したものがでませんでした。
「*.csv」が表示されず、それ以外の全てがでました。

lsコマンドで上手く行きそうなので、この方法で試します。

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