68user's page 掲示板

Prev< No. 2272〜2274> Next  [最新発言に戻る] [過去ログ一覧]
No. 2272 # ふくし [E-mail] 2001/11/18 (日) 23:50:37
みーさん:

Perl ですいません、一応テストもしました。
ミソは find コマンドの出力を ` ` で配列に入れて
for で処理している、、(フツーやんねえかな、、)

#! /usr/local/bin/perl -w
# kokyakuokyaku

$tmp = "TempFileDayooon"; # 中間ファイル。存在しないファイル名を選ぶこと

for $file (`find . -print`) {
        chomp;
        if (-f $file) {
                open FILE, $file;
                open TMP, ">$tmp";
                while (<FILE>) {
                        s|/srv/kokyaku/|/srv/okyaku/|g;
                        print TMP;
                }
                close TMP;
                close FILE;
                rename $tmp, $file;
        }
}

No. 2273 # ふくし [E-mail] 2001/11/19 (月) 02:33:50
(一応)ふつー File::Find 使うよね。知ってるー (^^;;;

No. 2274 # みー [E-mail] 2001/11/19 (月) 10:50:04
ふくしさんどーもありがとうございました。大変申し訳ないのですが、findコマンドの使い方をよく理解していないので、どなたかお教え頂けないでしょうか?私の理解としては、ディレクトリー内の条件にあったファイルを探す時に使うコマンドだと思っていたので、例えば、頭に’m*’がつくファイルを探したりする時に使用するものだと思っていました。1つあるいは複数のファイルから、指定パターンに合致した行を探しその対象のファイル名を表示させる為には、grepしか使用出来ないと思っていたのですが、findコマンドで、ファイル(シェル)中に/usr/kokyakuと記述されているファイル名をfindコマンドで探す場合は、どのように記述すればよいのでしょうか?
また、ふくしさんの記述して下さった各行の処理内容をもう少し詳細に教えて頂けないでしょうか?お手数をおかけいたしますが、よろしくお願いいたします。

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