Я использую свое пи малины для взятия рисунков моего 3-го принтера для промежутка времени. Моя единственная проблема - то, что ничто, что я пробую, не позволяет мне перемещать их в USB.
Моя новая строка я попробовал:
~/Desktop/gphoto/images/Split $ mv -v * /media/pi/B0ED-02C5/Split/
Я просто продолжаю получать те же ошибки для всех рисунков:
'2019-03-21 22: 46: 29 TL_Shots.JPG' -> '/media/pi/B0ED-02C5/Split/2019-03-21 22: 46: 29 TL_Shots.JPG'
mv: cannot create regular file '/media/pi/B0ED-02C5/Split/2019-03-21 22: 46: 29 TL_Shots.JPG': invalid argument
Ошибка, которую Вы получаете, обычно связывается с целевой файловой системой
USB-устройством является, вероятно, FAT, или ведьма NTFS не позволяет специальные символы как :
и так.
Быстрое обходное решение должно будет изменить шаблон именования файла на Вашем берущем изображений малины.
И если Вы хотите санировать имена файлов для создания их принятыми файловой системой Windows, вот простая функция удара, чтобы сделать это:
function sanitize_file_name {
echo -n $1 | perl -pe 's/[\?\[\]\/\\=<>:;,''"&\$#*()|~`!{}%+]//g;' -pe 's/[\r\n\t -]+/-/g;'
}
Вот сценарий в качестве примера, который переместит Ваши файлы
#!/bin/bash
## -------- CONFIG ---------------------------------------------
PicsFolder=~/Desktop/gphoto/images/Split ## Source Folder
DestFolder=/media/pi/B0ED-02C5/Split ## Destination Folder
FILES=$PicsFolder/*.jpg ## File selection
## -------------------------------------------------------------
function sanitize_file_name {
echo -n $1 | perl -pe 's/[\?\[\]\/\\=<>:;,''"&\$#*()|~`!{}%+]//g;' -pe 's/[\r\n\t -]+/-/g;'
}
OldIFS=$IFS;
NewIFS="
";
IFS=$NewIFS ## Handle spaces in filenames
for F in $FILES
do
mv $F $DestFolder/$(sanitize_file_name $(basename $F))
done;
IFS=$OldIFS