/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/mp3
bash 대체 대신 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.mp3
CTRL+F를 누르고 두 파일을 모두 붙여넣으면 브라우저에서 강조 표시됩니다). 왜 해당 디렉터리에 내용이 에코됩니까? 서류? 내 스크립트에 무슨 문제가 있나요?