テストで処理されたパスを含むファイルが見つかりません。

テストで処理されたパスを含むファイルが見つかりません。

/home/kuba/mp3外部USBハードドライブにバックアップがあり、/media/kuba/JCUBIC/mp3一部のファイルをUSBドライブの他のディレクトリに移動しました。今、別の外部USBドライブで同じことをするときに、USBのファイルを自分のホームディレクトリに同期したいと思います。私はこのbashスクリプトを使います:

find JCUBIC2/mp3/ | while read file; do
    test -e "${file/JCUBIC2/JCUBIC}" || (test -e "$file" && rm -r "$file" && echo $file);
done

/home/kuba/mp3bashの代わりにwithを使ってsed同じことを試しました。

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

(正しいパスを得るためにテスト中で交換しましrmた)echo

ただし、次のようなエコーパスが表示されます。

/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

そして、[Hip Hop]/Fenomen - Efektディレクトリとディレクトリの両方で同じサイズがあります。ファイル名に違いはありません(Fenomen - Efekt/Fenomen - 07.Teksty.mp3CTRL + Fを押して両方のファイルを貼り付けると、ブラウザで強調表示されます)。なぜそのディレクトリにコンテンツがエコーされるのですか?書類?私のスクリプトに何の問題がありますか?

ベストアンサー1

おすすめ記事