|
>>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 の一読をお勧めします。 |
|
>>3661 68user まず最初にお断りさせていただきたいのですが、私が3660の投稿を行ったタイミングでは まだ3659の発言はありませんでした。 ですので、3660投稿の時点では3659の発言は読んでいませんでした。 ただ、どちらにしても私のテスト自体に思い違いがあった様で御指摘は大変参考になり ました。 御指摘誠にありがとうございました。 この投稿を送信次第御提示いただいた資料を参照してみます。 |
|
>>3659 68user >HP-UX 11i で試した限りでは、HP の tar ではワイルドカードは使用 >できないようです。 > - 全部 tar xf で展開し、狙いのファイルを拾う > - tar tf の結果を grep で拾って tar xf で完全なファイル名を指定する > - GNU tar をインストールする >などの方法を検討するのがよいかと思われます。 tar tvf の結果をgrepで拾って、tar xvf に対して完全なファイル名を 指定する方法でできました。 ありがとうございました。 |
|
はじめまして。Naokiと申します。 皆さんに教えていただきたいことがあり、書き込ませていただきます。 レンタルサーバーを借りてホームページを開設しようとしているのですが、 最初に読み込まれるトップページを指定したいのですが、どのようにしたらよいのでしょうか? 具体的には、アクセス元がパソコンor携帯かによって、それぞれのトップページを振り分けるCGI をトップページにしたいと考えています。(ファイル名はindex.cgi) サーバー会社に問い合わせたところ、『index.cgiやindex.phpをトップページにする方法として、 .fowardファイルにて操作可能』と言われ、それ以上はサポート外なので対応できないということです。 そこで、どのように設定したらよいのか教えてください。 以上、よろしくお願いいたします。 |
|
こんばんは。 皆様のようにきっちり回答できる自信がなく、時折の書き込みで恐縮ですが、 たまたま一部知っている内容だったので回答させていただきます。 >>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 |
|
こんにちわ。 Perlについてのごく初歩的な質問なんですがファイルデータを保存する時の方法についてなんですが CSV形式なら open(OUT,">data.dat"); print OUT "$FORM{'fld1'},$FORM{'fld2'},$FORM{'fld3'},$FORM{'fld4'}\n"; close(OUT); だと思うのですが固定長の場合はどうしたらよいのでしょうか? よろしくお願いします。 |