#!/bin/bash
A="$1"; B="$2"
OUT="findchanged.out"
mkdir $OUT
find "$A" -type f -print0 | xargs -0 md5sum_tsv | sort -k1,1 > $OUT/A.md5.file
find "$B" -type f -print0 | xargs -0 md5sum_tsv | sort -k1,1 > $OUT/B.md5.file
cd $OUT
sort -k1,1 -m A.md5.file B.md5.file > AB.md5.file
< A.md5.file kut 1 > A.md5
< B.md5.file kut 1 > B.md5
comm -2 -3 A.md5 B.md5 > only.in.A.md5
comm -1 -3 A.md5 B.md5 > only.in.B.md5
comm -1 -2 A.md5 B.md5 > in.A.and.B.md5
mlook only.in.A.md5 A.md5.file > only.in.A.md5.file
mlook only.in.B.md5 B.md5.file > only.in.B.md5.file
mlook in.A.and.B.md5 AB.md5.file > in.A.and.B.md5.file
< only.in.A.md5.file kut 2 | sort > A
< only.in.B.md5.file kut 2 | sort > B
< in.A.and.B.md5.file kut 2 | sort > AB
