アニメ『かりん』(2005)
吸血鬼アニメってたくさんありますね。2005年ぐらいになると公式のPV動画が出てきません。本編そのものはたくさん見つかるのに。
このアニメに出てくる吸血鬼は、血と一緒に、ストレスや不幸を吸い取ってくれます。なんて良心的なんでしょうか。で、主人公の果林は、もちろん血を吸いはしますが、血を増やす性質を持ってます。増血鬼らしい。正直この増血鬼の設定がよく分かりません。まだ数話しか見ていないので、この設定なくてもいいんじゃないかと思えるのですが、後々ストーリーに効いてくるんでしょうか。献血とか。たぶん、誰も不幸にならないと思うアニメなので、一気に見てしまうと思います。
今回はrcsを理解するため、管理ファイル(,v)のフォーマット解析スクリプトを書き始めようかと思います。
現在のカレントディレクトリは、チェックインした後なので、管理ファイルだけです。
takk@deb9:~/tmp$ find . ./RCS ./RCS/test.c,v takk@deb9:~/tmp$
現在の管理ファイルの全内容です。
takk@deb9:~/tmp$ cat RCS/test.c,v | cat -n 1 head 1.3; 2 access; 3 symbols; 4 locks; strict; 5 comment @ * @; 6 7 8 1.3 9 date 2018.09.13.11.00.44; author takk; state Exp; 10 branches; 11 next 1.2; 12 13 1.2 14 date 2018.09.12.11.58.02; author takk; state Exp; 15 branches; 16 next 1.1; 17 18 1.1 19 date 2018.09.12.11.49.34; author takk; state Exp; 20 branches; 21 next ; 22 23 24 desc 25 @TEST 26 @ 27 28 29 1.3 30 log 31 @TEST 32 @ 33 text 34 @#include <stdio.h> 35 int main() 36 { 37 printf("HELLO1\n"); 38 printf("HELLO2\n"); 39 printf("HELLO3\n"); 40 return 0; 41 } 42 @ 43 44 45 1.2 46 log 47 @2nd Check in 48 @ 49 text 50 @d4 3 51 a6 1 52 printf("HELLO\n"); 53 @ 54 55 56 1.1 57 log 58 @Initial revision 59 @ 60 text 61 @d1 1 62 d4 1 63 @ takk@deb9:~/tmp$
さて、解析スクリプトを書いてみましょう。
takk@deb9:~/tmp$ cat -n my-rcs.pl 1 open(IN,"<RCS/$ARGV[0],v"); 2 while(<IN>){ 3 chomp; 4 if(/^head\t(\d+\.\d+);/){ 5 $head = $1; 6 next; 7 } 8 if(/^(\d+\.\d+)$/){ 9 $rev = $1; 10 next; 11 } 12 if(/^(date\t\d\d\d\d\..*)$/){ 13 $date = $1; 14 if($rev eq $head){ 15 print "$date\n"; 16 } 17 } 18 19 } 20 close(IN); takk@deb9:~/tmp$
headのレビジョンと同一レビジョンのdateを表示するスクリプトです。
実行してみます。
takk@deb9:~/tmp$ perl my-rcs.pl test.c date 2018.09.13.11.00.44; author takk; state Exp; takk@deb9:~/tmp$
次回から少しずつスクリプトにコードを増やしていきます。
コメント