#!/bin/bash md5_source="2cp.md5" md5_source_rm="2rm.md5" md5_aim="aim.md5" md5_aim_tmp="$(mktemp)" cat "${md5_aim}" > $md5_aim_tmp md5_source_tmp="$(mktemp)" cat "${md5_source}" > $md5_source_tmp echo "2cp file: '$md5_source_tmp'" #wenn delete file exits -> handle deletons (importand for konflict handling [ -f "${md5_source_rm}" ] && { cat "${md5_source_rm}" | cut -c -32 | while read line; do sed -i "/$line/d" "${md5_aim_tmp}" done cat "${md5_source_rm}" | cut -c 35- | while read line; do l=$(grep " $line"$ "${md5_aim_tmp}") [ -n "$l" ] && { echo $l md5=$(echo $l | cut -c -32) sed -i "/$md5/d" "${md5_aim_tmp}" } done } #gleiche dateien anhand md5 aussortieren cat "${md5_aim_tmp}" | cut -c -32 | while read line; do sed -i "/$line/d" "${md5_source_tmp}" ; done #dateien die verschiedenen md5 haben aber bei beiden existieren als konflikte behandeln echo Konflicts: echo cat "${md5_aim_tmp}" | cut -c 35- | while read line; do l=$(grep " $line"$ "${md5_source_tmp}" | tee -a konflicts) [ -n "$l" ] && { echo $l md5=$(echo $l | cut -c -32) sed -i "/$md5/d" "${md5_source_tmp}" } done