У меня есть куча файлов, распределенных по множеству папок на диске ext4. Некоторые из этих файлов содержат недопустимые символы для ntfs (например, :
или |
), поэтому при попытке скопировать их я вижу их в Windows.
Существует ли какой-либо инструмент, который позволит мне копировать файлы и изменять имена по мере необходимости, или мне нужно написать свои собственные?
Проверьте этот ответ: https://superuser.com/questions/178025/linux-copy-to-fat32-filesystem-invalid-argument
Короче говоря, установите pax
:
sudo apt install pax
Теперь вместо выполнения :
cp -r sourcedir destdir
Чтобы скопировать дерево каталогов, вы можете вместо этого запустить:
pax -rw -s '/[*?:]/_/gp' sourcedir destdir
Таким образом, pax
будет переименовывать только копии файлов, когда это необходимо.
Каждый символ *
или ?
или :
будет автоматически заменен символом _
. Это означает, что потенциально возможно, что несколько файлов получат одно и то же новое имя.