Upload download.sh
Browse files- download.sh +41 -0
download.sh
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
# Проверяем, был ли передан файл в качестве аргумента
|
| 4 |
+
if [ -z "$1" ]; then
|
| 5 |
+
echo "Использование: $0 <путь_к_csv_файлу>"
|
| 6 |
+
exit 1
|
| 7 |
+
fi
|
| 8 |
+
|
| 9 |
+
CSV_FILE="$1"
|
| 10 |
+
|
| 11 |
+
# Проверяем, существует ли файл
|
| 12 |
+
if [ ! -f "$CSV_FILE" ]; then
|
| 13 |
+
echo "Ошибка: Файл не найден по пути '$CSV_FILE'"
|
| 14 |
+
exit 1
|
| 15 |
+
fi
|
| 16 |
+
|
| 17 |
+
echo "Начинаю обработку файла: $CSV_FILE"
|
| 18 |
+
echo "------------------------------------"
|
| 19 |
+
|
| 20 |
+
# 1. Пропустить заголовок (первую строку) с помощью tail
|
| 21 |
+
# 2. Отфильтровать строки, где в конце есть два числа через пробел
|
| 22 |
+
# 3. Взять последнее слово (второе число) с помощью awk
|
| 23 |
+
# 4. Пройтись в цикле по каждому найденному ID
|
| 24 |
+
tail -n +2 "$CSV_FILE" | \
|
| 25 |
+
grep -E ',[0-9]+ [0-9]+$' | \
|
| 26 |
+
awk -F' ' '{print $NF}' | \
|
| 27 |
+
while read -r model_id; do
|
| 28 |
+
# Проверяем, что model_id действительно является числом
|
| 29 |
+
if [[ "$model_id" =~ ^[0-9]+$ ]]; then
|
| 30 |
+
echo "Попытка скачивания модели с ID: $model_id"
|
| 31 |
+
|
| 32 |
+
# Выполняем команду скачивания.
|
| 33 |
+
# Если команда завершится с ошибкой, выводим сообщение и продолжаем.
|
| 34 |
+
download-model "$model_id" || echo "--> Ошибка при скачивании модели $model_id. Продолжаю..."
|
| 35 |
+
else
|
| 36 |
+
echo "--> Пропущена некорректная строка, получен ID: '$model_id'"
|
| 37 |
+
fi
|
| 38 |
+
done
|
| 39 |
+
|
| 40 |
+
echo "------------------------------------"
|
| 41 |
+
echo "Скрипт завершил работу."
|