Чтобы заменить один /
(экранированный \
) на _
:
for i in */pre.nii; do echo mv "$i" "${i/\//_}"; done
Если все выглядит нормально, удалите echo
.
Наверняка это связано с различиями в FS между источником и местом назначения.
Позвольте мне пояснить на примере. Разреженные файлы - это файлы, пустые блоки которых (т.е. заполненные 0) не выделяются на диске. Чем меньше размер блока на ФС, тем больше вероятность найти такой блок. Таким образом, ваша проблема может быть связана с тем, что размер блока на месте назначения больше, чем на источнике.
Возможно, есть и другие параметры XFS, которых я не знаю.
См. также этот вопрос на ServerFault
Решение, которое, по моему мнению, работает лучше всего для меня, состоит в том, чтобы сначала запустить
virt-sparsify imagename
Требуется некоторое время. Это создает изображение меньшего размера, которое сообщает одинаковый размер как в ls -h
, du -h
, так и в du -h --apparent-size
. Но когда вы монтируете образ, он сообщает правильный размер (и растет, как и ожидалось ).
Затем выполните rsync это изображение.