#!/bin/bash # Проверяем, был ли передан файл в качестве аргумента if [ -z "$1" ]; then echo "Использование: $0 <путь_к_csv_файлу>" exit 1 fi CSV_FILE="$1" # Проверяем, существует ли файл if [ ! -f "$CSV_FILE" ]; then echo "Ошибка: Файл не найден по пути '$CSV_FILE'" exit 1 fi echo "Начинаю обработку файла: $CSV_FILE" echo "Модели будут сохраняться в текущую папку (.)" echo "------------------------------------" tail -n +2 "$CSV_FILE" | \ awk -F, '$NF ~ /^[[:space:]]*[0-9]+ [0-9]+[[:space:]]*$/ { split($NF, arr, " "); print arr[2] }' | \ tr -d '\r' | \ while read -r model_id; do if [[ -n "$model_id" && "$model_id" =~ ^[0-9]+$ ]]; then echo "Попытка скачивания модели с ID: $model_id" # Перенаправляем ввод для download-model из /dev/null, чтобы он не "съел" остальные ID download-model "$model_id" . < /dev/null || echo "--> Ошибка при скачивании модели $model_id. Продолжаю..." else echo "--> Пропущен некорректный ID: '$model_id'" fi done echo "------------------------------------" echo "Скрипт завершил работу."