tar: ./03-Castaway \ on \ the \ Moon \ (Hae-jun \ Lee \ - \ 2009): Cannot stat: Нет такого файла или каталога - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь «скопировать» некоторые файлы и папки с внешнего жесткого диска на мою ма 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, папка покажет мне, что они содержат.

1 Ответ

0 голосов
/ 29 мая 2020

Я меняю "$dir" вместо ${dir//\ /\ } и работает! tar cz "$ dir" | gzip> "/Users/william/toUpload/movies/${ITER}.tar.gz"

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...