Я пытаюсь скопировать ряд файлов и папок с помощью BASH в Ubuntu. Важно, чтобы файлы копировались в алфавитном порядке, потому что они идут в цифровом кадре изображения, который считывает файлы в том порядке, в котором они были добавлены на флешку. Из того, что я обнаружил, Nautilus копирует их на основе номера inode, поэтому они не работают на кадре.Скопируйте файлы в папки в алфавитном порядке в BASH Ubuntu
Из поиска я сделал, я придумал с помощью следующей команды:
for i in "$(find * -type f -print0 | sort)"; do cp -v "$i" "/media/PicFrame/$i"; done
, что приводит к ошибке, что имя файла слишком длинное. Похоже, что BASH пытается создать файл с каждым именем файла, разделенным «\ n». Я попытался удалить некоторые кавычки, но это приводит к нескольким ошибкам «не могу стати» при попытке скопировать фрагменты имен файлов (так как в них много пробелов).
Любые идеи о том, как сделать эту работу? Я открыт для других методов, но мне бы очень хотелось, чтобы это была одна команда/сценарий, которую я могу запускать каждый месяц, когда я меняю фотографии. (Я делаю это в Windows, но сейчас пытаюсь сделать все в Ubuntu. Я вернулся туда и обратно около двух лет.)
Sweet, rsync выглядит как раз то, что мне нужно. Благодаря! – user1055261
Кроме того, для первого, чтобы он работал, он должен удалить '-print0' из' find' – mVChr
@mVChr: или добавить '--files0-from = -' в' sort', если его версия поддерживает его (это вероятно, это происходит, так как он использует Ubuntu). –