68user's page 掲示板

Prev< No. 85〜88> Next  [最新発言に戻る] [過去ログ一覧]
No. 85 # 68user 1999/01/20 (水) 15:56
file1 file2を
    % tar cf file.tar file1 file2
でfile.tarにアーカイブして、file.tar自体をいじる、ってことですか?

tarファイルはヘッダが付いてますので、一般的には無理です。
が、絶対不可能ってことはないんじゃないかなぁ。
エディタなどでは無理でしょうし、aをbに変換、なんてのは
ヘッダを書き換えてしまう可能性があるのでダメでしょうが、
hogehogehogehogeをfugafugafugafugaに変換、ってのは
たぶんできるんじゃないでしょうか。

とはいえ
opendir(DIR,".");
@files = grep(/file\d/,readdir(DIR));
closedir(DIR);

foreach $file (@files){
    open(IN,$file);
    @buf = <IN>;
    close(IN);
    open(OUT,">$file");
    foreach (@buf){
        s/a/b/g;
        print OUT $_;
    }
    close(OUT);
}
なんてやる方をお勧めします(バックアップを忘れずに)。

# perlにファイル自体を書き換えるオプションがあったかな?

No. 86 # mm 1999/01/21 (木) 03:26
># perlにファイル自体を書き換えるオプションがあったかな?
    perl -pi.bak -e "s/a/b/g;" file[0-9]
では?

No. 87 # 68user 1999/01/21 (木) 05:12
> perl -pi.bak -e "s/a/b/g;" file[0-9]

うーん、簡単ですねぇ。ちなみに僕は最近までオプションは -wと-e
しか知りませんでした。でも最近-cを覚えました(^^;

分厚いマニュアルをめくってオプション調べるより自分で書いた方が
早いんで、なかなか覚えられないんですが、長い目で見るとさっさと
オプション覚えた方がいいんでしょうけどね…。

# 一番悪いのは、青ラクダ本の目次。「オプション一覧」とか
# 「スイッチ一覧」なんて項がない。どこに書いてあるかと
# 言えば「コマンドインタプリタとの協調」。毎回オプション解説を
# 探すのに苦労してます。…ま、言い訳ですな(^^;

> ブラウザ上からCGI直接指定して、うまく動かせるようにできんかな…

CGIはnobody権限で動きますので、CGI経由で作られるファイルは
全て所有者がnobodyとなります。ファイル消せなくなってあわてない
ように(笑)

No. 88 # mm 1999/01/21 (木) 21:29
># 一番悪いのは、青ラクダ本の目次。

青いラクダは、確かに読みづらいですよね。
私の場合、普段は「日本語 perl texinfo バージョン 4.0.19.2」のプレーンテキ
スト版をオンラインマニュアルとしてを使ってます。高尾直弥さんという方の訳
ですが、リファレンス部分は赤いラクダとほぼ同内容だと思います。

ただ、今使ってるものはいろいろイジってて配布条件(GNU)上問題があるのと、
手元にオリジナルが見当たらないので、ちょっと探してみましたが、根性がない
ので↓のようなHTML版しか見つけられませんでした(^^;
    http://www.cec.co.jp/usr/hasegawa/Docs/perl-jman/index.html
でも、どこかに必ずオリジナルのtexinfo やプレーンテキスト版もあると思いま
す(^o^;ゞ

WindowsのヘルプやHTMLよりも、やっぱりエディタで正規表現検索が可能な普通の
テキストが使い易い…

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