diff --git a/select b/select index 5129f1b..0c7816e 100755 --- a/select +++ b/select @@ -5,33 +5,39 @@ 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}" + sed -i "/$line/d" "${md5_aim_tmp}" done cat "${md5_source_rm}" | cut -c 35- | while read line; do - l=$(grep " $line"$ "${md5_aim}") + l=$(grep " $line"$ "${md5_aim_tmp}") [ -n "$l" ] && { echo $l md5=$(echo $l | cut -c -32) - sed -i "/$md5/d" "${md5_aim}" + sed -i "/$md5/d" "${md5_aim_tmp}" } done - rm ${md5_source_rm} } #gleiche dateien anhand md5 aussortieren -cat "${md5_aim}" | cut -c -32 | while read line; do sed -i "/$line/d" "${md5_source}" ; done +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}" | cut -c 35- | while read line; do - l=$(grep " $line"$ "${md5_source}" | tee -a konflicts) +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}" + sed -i "/$md5/d" "${md5_source_tmp}" } done