Как вы копируете и перемещаете несколько файлов с числами в Ubuntu? [закрыто]

У меня есть последовательность файлов с замедленной съемкой на моем Raspberry Pi, которые я пытаюсь скопировать на карту памяти. У меня есть чтобы разделить ход на две части (исходная папка вдвое больше целевой). Вот сценарий, над которым я работал (весь день!). Я все еще не могу его запустить.

cp -v /home/pi/timelapse   "201712140[20331-45246] {} /media/pi/FC33-7BFB1/timelapse

Источник последовательность файлов папок с шагом 15 секунд от 20171214020331 - 20171214045246 .

-1
задан 18 December 2017 в 05:56

2 ответа

Команда cp принимает один или несколько исходных файлов, за которыми следует пункт назначения. Если есть несколько исходных файлов (как в вашем случае), местом назначения должен быть каталог (куда все файлы будут скопированы). Согласно комментарию, вы неправильно используете квадратные скобки. Я не знаю, что будут делать фигурные скобки, но, скорее всего, не то, что вы хотите. Предполагая, что вашим первым исходным файлом является / home / pi / timelapse / 20171214020331, что имена файлов не содержат пробелов и что целевой каталог / media / pi / FC33-7BFB1 / timelapse уже существует, попробуйте

cp /home/pi/timelapse/201712140[23]* /media/pi/FC33-7BFB1/timelapse/

Если при этом копируются все файлы, начиная с 2017121402 и 2017121403, вы можете переместить следующий набор, используя [45] и т. Д. Это немного обременительно, но вы начнете свое путешествие к открытию ...

2
ответ дан 18 December 2017 в 05:56

Вы можете попробовать это скопировать файл, найдя по regex в диапазоне

for file in 201712140*
do
    matched="$(echo "$file" | grep -oP '(?<=201712140)([^.]+)')"
    if [[ $matched -ge 20331 && $matched -le 45246 ]]; then
        cp -v $file /your/location
    fi
done

Просто запустите этот скрипт в вашей исходной директории. Сохраните его в файл xyz.sh и запустите bash xyz.sh

0
ответ дан 18 December 2017 в 05:56

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

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