보관 용 서비스에 의해 (많은 수의) 충돌 파일이 생성되었습니다. 이 파일들은 로컬 리눅스 파일 시스템에 있습니다.일괄 적으로 이름 바꾸기 보관함 충돌 파일
예제 파일 이름 = (마스터의 충돌 사본 2013년 12월 21일)를 컴파일 .sh로
나는이 경우 compile.sh에, 올바른 원래 이름으로 파일 이름을 변경하여 기존 파일을 삭제하고 싶습니다 그 이름. 이상적으로는 스크립트를 사용하거나 재귀 적으로 사용할 수 있습니다. 현재 디렉토리에서
#!/bin/bash
folder=/path/to/dropbox
clear
echo "This script will climb through the $folder tree and repair conflict files"
echo "Press a key to continue..."
read -n 1
echo "------------------------------"
find $folder -type f -print0 | while read -d $'\0' file; do
newname=$(echo "$file" | sed 's/ (.*conflicted copy.*)//')
if [ "$file" != "$newname" ]; then
echo "Found conflict file - $file"
if test -f $newname
then
backupname=$newname.backup
echo " "
echo "File with original name already exists, backup as $backupname"
mv "$newname" "$backupname"
fi
echo "moving $file to $newname"
mv "$file" "$newname"
echo
fi
done
해결책 Guntram에 감사드립니다. 저를 올바른 길로 인도했습니다. 나는 당신이 제공 한 것을 가져 갔고 나의 목적에 더 잘 부합하도록 그것을 수정/확장했습니다. 리눅스 배쉬 (존경)의 힘에 대해 더 배웠다. – cemlo