Hi Kopp!
Nun also die Lösung:
Fehlerdatei zurücksetzen wie gehabt (echo -n "" > /home/share/copyErr.txt)
cpPath.sh:
###############################
#!/bin/bash
thePath=echo "$1" | awk -F'/' '{count=0; while (count++<NF-1) {printf("%s/", $count)}; printf("\n")}'
theFile=echo "$1" | awk -F'/' '{print $NF}'
theDest=$2
mkdir -p "$theDest/$thePath"
mv "$1" "$theDest/$thePath" 2>"$3"
##############################
Anleitung: den code zwischen ########## kopieren und als cpPath.sh speichern.
Als nächstes in das Verzeichnis gehen, in dem cpPath.sh gespeichert wurde.
Dort: chmod +x ./cpPath.sh
Dort dann:
find /mnt/hdb/ -type f -exec ./cpPath.sh '{}' /home/share/ /home/share/copyErr.txt ;
Das Problem mit mv ist, dass man nur einen Versuch hat, da das Original "verschoben" wird... - das Risiko liegt also weiter bei dir - alle Angaben ohne Gewähr.
Viele Grüße,
Richard