Пакетное переименование файлов с итерацией - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть эксперимент с 60 участками. Я сделал 5 фотографий на обработку с go -про, плюс 6-ю фотографию неба, чтобы отметить точку, где я перешел на следующий график (всего 360 фотографий). Как я мог написать bash скрипт для автоматического переименования этих файлов; т.е.

Изменить набор файлов:

GOPRO0001.jpg, GOPRO0002.jpg, ..., ..., GOPRO0360.jpg

На что-то вроде:

plot1_1.jpg, ..., plot1_6.jpg, ..., ..., plot60_1.jpg, ..., plot60_6.jpg

Какой самый эффективный способ сделать это? Я думаю, мне нужно иметь 2 уровня итерации, но я не уверен, как это сделать ..

1 Ответ

1 голос
/ 07 апреля 2020

Вы можете попробовать этот сценарий BASH:

#!/bin/bash
i=1;j=1
for file in GOPRO*.jpg; do
    mv "$file" "plot${j}_${i}.jpg"
    if [[ $i -eq 6 ]]; then
        i=1
        ((j++))
    else
        ((i++))
    fi
done

Если вы хотите проверить, что он будет делать, прежде чем фактически позволить ему действовать, поставьте echo перед командой mv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...