Я пытаюсь «скопировать» некоторые файлы и папки с внешнего жесткого диска на мою ма c, но перед этим я хочу скопировать их в сжатом виде, это почти нормально, кроме случаев, когда имена папок или файлов имеют имена с пробелами. Я не могу редактировать эти имена, потому что внешний HD установлен только для чтения (в моем Ma c).
Вот код:
#!/bin/bash
rar='.*\.(rar)$'
docx='.*\.(docx)$'
ITER=1
cd /Volumes/TDT/PC/Vídeos/peliculas/
for dir in ./*
do
if [[ "$dir" =~ rar || "$dir" =~ docx ]]; then
echo ""
else
echo "tar cz ${dir//\ /\ } | gzip > /Users/william/toUpload/movies/${ITER}.tar.gz"
echo "..."
tar cz "${dir//\ /\ }" | gzip > "/Users/william/toUpload/movies/${ITER}.tar.gz"
ITER=$(expr $ITER + 1)
fi
done
Ошибка
tar: ./03-on\ the\ Moon: Cannot stat: No such file or directory
Конечно, папка существует и что-то есть внутри, и если я сделаю ls ./03-on\ the\ Moon
, папка покажет мне, что они содержат.