/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
bash 置換の代わりに、同じことを実行してみました/home/kuba/mp3
: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
、ディレクトリのサイズは同じですが、ファイル名に違いは見当たりません (CTRL+F を押して貼り付けると、Fenomen - Efekt/Fenomen - 07.Teksty.mp3
両方のファイルがブラウザで強調表示されます)。なぜそのディレクトリからいくつかのファイルがエコーされるのでしょうか? 私のスクリプトの何が問題なのでしょうか?