ViGilant
@ViGilant

Как на bash сохранять файлы в директорию с порядковым номером?

Подскажите, пожалуйста, как в sh скрипте правильно сделать последовательный вывод файлов в директорию, присваивая им имена типа file000001, file000002, file000003 и т.д.?

С поправкой на тот факт, что скрипт может начать свою работу в любой момент и не знать, какой файл на данный момент последний ..005й или ..505й.

* скрипт берет снапшоты из rtsp потока, с помощью ffmpeg, но это особой роли не играет
  • Вопрос задан
  • 3228 просмотров
Пригласить эксперта
Ответы на вопрос 2
@YoungSkipper
find . -name "file*.txt" | sort -r | head -n 1 | sed -e "s/[^0-9]//g" | read data; data=$((data + 1)); printf "file%05d.txt" "$data"


Нашли все нужные файлы, отсортировали их по убыванию, взяли первый, вытащили из него номер, увеличили номер, вывели с ведущими нулями.

Из неприятного - количество ведущих нулей, и префик файла захарткожены. Можно, и от этого избавиться, если есть желание.
Ответ написан
vvpoloskin
@vvpoloskin
Инженер связи
Предложу 3 варианта:
1) Хранить список уже полученных файлов в каком-нибудь текстовом файле
2) Хранить Значение последнего файла в переменной окружения
3) Получить последний по дате создания (изменения?) файл и увеличить название
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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