アニメ『かりん』(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$
次回から少しずつスクリプトにコードを増やしていきます。


コメント