第31話で作った、毎日の追加・更新・削除の内容を 教えてくれるスクリプト。その出力結果はこんな感じだった。
1c1 < 174d3eeecf8ddd38815f23d8131447f4 backup-cassava --- > 5dbea090a04bd1edcc729f325a47367c backup-cassavaこれは更新があった場合。 これが、削除された場合は、つぎのような表示になる。
1d0 < 174d3eeecf8ddd38815f23d8131447f4 backup-cassava新たに追加された場合は、こんな感じ。
0a1 > 5dbea090a04bd1edcc729f325a47367c backup-cassavaもうひとつ、移動された場合はこう。
1c1 < 174d3eeecf8ddd38815f23d8131447f4 backup-cassava --- > 174d3eeecf8ddd38815f23d8131447f4 foo/backup-cassava正直読みづらい。(^_^;
はいそこで、例によってスクリプトを書くぜ(^_^;
上の読みづらい結果を処理して、読みやすーい形式で書き出すスクリプトを作るのだ。
さすがにちょっと、シェルスクリプトではややこしそうなので、
最近覚えたての、perlでやってみた。
その結果、例えば更新があった場合は、こんな風になる。
==> *changed* <== * backup-cassavabackup-cassavaに更新があった、これだけ。行頭の * が更新を意味する。
==> +added+ <== + backup-cassava同じく削除はこう。
==> -deleted- <== - backup-cassavaそして、移動された場合はこうなるようにしてみた。
==> =moved= <== = foo/backup-cassava <- ** というのは、「移動先と同じ」という意味で、 ファイル名の部分には変更がないことを表す。 こうしないと、1行がとてーも長くなってしまうのだ。 (でもこのシカケ作るのとっても苦労した)