Ich habe ein Backup /home/kuba/mp3
auf einer externen USB-Festplatte /media/kuba/JCUBIC/mp3
und verschiebe einige Dateien in verschiedene Verzeichnisse auf dem USB-Laufwerk. Jetzt möchte ich die Dateien vom USB mit meinem Home-Verzeichnis synchronisieren. Wenn ich dasselbe mit meinem anderen externen USB-Laufwerk mache, verwende ich dieses Bash-Skript:
find JCUBIC2/mp3/ | while read file; do
test -e "${file/JCUBIC2/JCUBIC}" || (test -e "$file" && rm -r "$file" && echo $file);
done
Ich habe versucht, dasselbe /home/kuba/mp3
mit sed
anstelle der Bash-Ersetzung zu tun:
find ~/mp3/ -print0 | while read -d '' -r file; do
src=$(echo $file | sed -e 's%^/home/kuba%/media/kuba/JCUBIC%');
test -e "$src" || (test -e "$file" && echo $src && echo $file);
done
(Ich ersetze es rm
durch echo
, weil ich getestet habe, ob ich den richtigen Pfad erhalte)
aber ich habe einen Echopfad wie diesen:
/media/kuba/JCUBIC/mp3/[Hip Hop]/Fenomen - Efekt/Fenomen - 16.Problemy (g. Rubato).mp3
/home/kuba/mp3/[Hip Hop]/Fenomen - Efekt/Fenomen - 16.Problemy (g. Rubato).mp3
/media/kuba/JCUBIC/mp3/[Hip Hop]/Fenomen - Efekt/Fenomen - 07.Teksty.mp3
/home/kuba/mp3/[Hip Hop]/Fenomen - Efekt/Fenomen - 07.Teksty.mp3
/media/kuba/JCUBIC/mp3/[Hip Hop]/Fenomen - Efekt/Fenomen - 08.Marzenia (g. Grammatik).mp3
/home/kuba/mp3/[Hip Hop]/Fenomen - Efekt/Fenomen - 08.Marzenia (g. Grammatik).mp3
und [Hip Hop]/Fenomen - Efekt
ist in beiden Verzeichnissen und das Verzeichnis hat die gleiche Größe. Ich habe keinen Unterschied in den Dateinamen bemerkt (wenn Sie STRG+F drücken und Fenomen - Efekt/Fenomen - 07.Teksty.mp3
beide Dateien einfügen, werden sie vom Browser hervorgehoben). Warum werden einige Dateien aus diesem Verzeichnis wiedergegeben? Was ist mit meinem Skript nicht in Ordnung?