Переместить JPGs от dir в доме к usb?

Я использую свое пи малины для взятия рисунков моего 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
0
задан 24 March 2019 в 00:53

1 ответ

Ошибка, которую Вы получаете, обычно связывается с целевой файловой системой
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
2
ответ дан 25 October 2019 в 23:41

Другие вопросы по тегам:

Похожие вопросы: