Как эмулировать cp и mv --parent на osx - PullRequest
5 голосов
/ 13 августа 2010

Osx mv и cp не имеют параметра --parents, так как же его эмулировать?

Т.е. mv x / y / a.txt s / x / y / a.txt, когда sempty выдает ошибку, когда директория не найдена, если сначала не выполнить mkdir, что довольно громоздко при попытке выполнить тысячи файлов.

1 Ответ

4 голосов
/ 21 августа 2010

Решение (которое работает на всех платформах с rsync):

Используйте find или другой инструмент для создания файла с файлами, которые вы хотите переместить / скопировать, например,

find *.mp3 > files.txt

Затем используйте rsync files-from, чтобы указать его, и, используя --remove-source-files, он ведет себя как mv -p и без него работает как cp -p:

rsync --files-from=files.txt --remove-source-files src dest 

Медленнее, чемродной mv / cp, но его возобновляемый и rsync получил гораздо больше опций, которые в противном случае могут помочь в очистке ваших файлов.

...