mv -f ~/sites.data/text1.txt ~/sites.data/text2.txt &&\
find ~/sites/ -type f -print0|xarg0 -0r sha1sum |sort> ~/sites.data/text1.txt &&\
diff ~/sites.data/text1.txt ~/sites.data/text2.txt
alterações que fiz: cada comando agora é condicionalmente executado com base no sucesso do comando anterior, não tente fazer o redirecionamento de io a partir de find-exec, termine find-exec com ponto e vírgula (que deve ser escapado), sequência incluída redirecionamento de número no io, classificação adicional para garantir a ordem repetida, arquivos de dados movidos fora do alvo de pesquisa para evitar que eles se identifiquem.