68user's page 掲示板

Prev< No. 3661〜3666> Next  [最新発言に戻る] [過去ログ一覧]
No. 3661 # 68user 2004/03/25 (木) 14:10:02
>>3660 バンガード
根本的に誤解があるようです。
> % wc ./test_dir/200309*data
この場合、操作対象ファイルは既に存在するのでエスケープは不要です。
この例ではシェルがメタキャラクタを展開し、wc は
      ./test_dir/20030901data ./test_dir/20030902data ./test_dir/20030903data
というような引数を得ます。

しかし
> # tar -xvf /dev/rmt/1m 200309\*data.tar.gz
の場合は、今から展開しようとしているわけなので、ファイルはまだ
存在しません (仮に存在していたとしても、存在するファイルにマッチ
してもらっては困るわけです)。

よって、シェルが展開しないように \* などとエスケープします。
すると tar は
      -xvf /dev/rmt/1m 200309*data.tar.gz
というふうにメタキャラクタをそのまま受け取るので、それを /dev/rmt/1m
内のデータと比較し、マッチするファイルのみを抽出します。ただし
今回のように tar が自前でメタキャラクタを展開する機能を持っていない
とうまくいきません。

      用語集: ファイルグロブ
          http://x68000.startshop.co.jp/~68user/unix/pickup?%A5%D5%A5%A1%A5%A4%A5%EB%A5%B0%A5%ED%A5%D6

の一読をお勧めします。

No. 3662 # バンガード [E-mail] 2004/03/25 (木) 14:25:24
>>3661 68user
まず最初にお断りさせていただきたいのですが、私が3660の投稿を行ったタイミングでは
まだ3659の発言はありませんでした。
ですので、3660投稿の時点では3659の発言は読んでいませんでした。

ただ、どちらにしても私のテスト自体に思い違いがあった様で御指摘は大変参考になり
ました。
御指摘誠にありがとうございました。
この投稿を送信次第御提示いただいた資料を参照してみます。

No. 3663 # すすむ 2004/03/25 (木) 15:21:18
>>3659 68user
>HP-UX 11i で試した限りでは、HP の tar ではワイルドカードは使用
>できないようです。
> - 全部 tar xf で展開し、狙いのファイルを拾う
> - tar tf の結果を grep で拾って tar xf で完全なファイル名を指定する
> - GNU tar をインストールする
>などの方法を検討するのがよいかと思われます。
tar tvf の結果をgrepで拾って、tar xvf に対して完全なファイル名を
指定する方法でできました。

ありがとうございました。

No. 3664 # Naoki [E-mail] 2004/03/27 (土) 20:37:18
はじめまして。Naokiと申します。
皆さんに教えていただきたいことがあり、書き込ませていただきます。
レンタルサーバーを借りてホームページを開設しようとしているのですが、
最初に読み込まれるトップページを指定したいのですが、どのようにしたらよいのでしょうか?
具体的には、アクセス元がパソコンor携帯かによって、それぞれのトップページを振り分けるCGI
をトップページにしたいと考えています。(ファイル名はindex.cgi)
サーバー会社に問い合わせたところ、『index.cgiやindex.phpをトップページにする方法として、
.fowardファイルにて操作可能』と言われ、それ以上はサポート外なので対応できないということです。
そこで、どのように設定したらよいのか教えてください。
以上、よろしくお願いいたします。

No. 3665 # has 2004/03/28 (日) 23:58:46
こんばんは。
皆様のようにきっちり回答できる自信がなく、時折の書き込みで恐縮ですが、
たまたま一部知っている内容だったので回答させていただきます。

>>3664 Naoki
CGI側でサーバ変数HTTP_USER_AGENTを参考に判定する方法があります。
CGIでよく使われていると思われるサーバ変数を解説しているページが
あったのでご紹介します。
http://www.din.or.jp/~hagi3/Perl/http.htm

Japan Apache Users Groupでの解説個所も見つけました。
http://www.apache.jp/docs/howto/cgi.html#environmentvariables

No. 3666 # samy 2004/03/30 (火) 13:40:12
こんにちわ。
Perlについてのごく初歩的な質問なんですがファイルデータを保存する時の方法についてなんですが
CSV形式なら
open(OUT,">data.dat");
    print OUT "$FORM{'fld1'},$FORM{'fld2'},$FORM{'fld3'},$FORM{'fld4'}\n";
close(OUT);
だと思うのですが固定長の場合はどうしたらよいのでしょうか?
よろしくお願いします。

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