Update download.sh
Browse files- download.sh +3 -16
download.sh
CHANGED
|
@@ -17,31 +17,18 @@ fi
|
|
| 17 |
echo "Начинаю обработку файла: $CSV_FILE"
|
| 18 |
echo "------------------------------------"
|
| 19 |
|
| 20 |
-
# Используем единую команду awk для фильтрации и извлечения данных:
|
| 21 |
-
# 1. tail -n +2: Пропускаем заголовок CSV.
|
| 22 |
-
# 2. awk -F, '...':
|
| 23 |
-
# -F, : Устанавливаем запятую как разделитель полей (колонок).
|
| 24 |
-
# $NF ~ /^[[:space:]]*[0-9]+ [0-9]+[[:space:]]*$/ :
|
| 25 |
-
# Это условие-фильтр. Оно проверяет, что последнее поле ($NF)
|
| 26 |
-
# соответствует шаблону "число пробел число".
|
| 27 |
-
# [[:space:]]* в начале и конце допускают случайные пробелы.
|
| 28 |
-
# { split($NF, arr, " "); print arr[2] } :
|
| 29 |
-
# Если строка подходит под фильтр, то выполняется это действие:
|
| 30 |
-
# - split($NF, arr, " "): Разбиваем последнее поле (например, "122359 135867") по пробелу
|
| 31 |
-
# и сохраняем результат в массив с именем 'arr'.
|
| 32 |
-
# - print arr[2]: Печатаем второй элемент этого массива, то есть второе число.
|
| 33 |
-
|
| 34 |
tail -n +2 "$CSV_FILE" | \
|
| 35 |
awk -F, '$NF ~ /^[[:space:]]*[0-9]+ [0-9]+[[:space:]]*$/ { split($NF, arr, " "); print arr[2] }' | \
|
|
|
|
| 36 |
while read -r model_id; do
|
| 37 |
-
#
|
| 38 |
if [[ -n "$model_id" && "$model_id" =~ ^[0-9]+$ ]]; then
|
| 39 |
echo "Попытка скачивания модели с ID: $model_id"
|
| 40 |
|
| 41 |
# Выполняем команду скачивания.
|
| 42 |
-
# Если команда завершится с ошибкой, выводим сообщение и продолжаем.
|
| 43 |
download-model "$model_id" || echo "--> Ошибка при скачивании модели $model_id. Продолжаю..."
|
| 44 |
else
|
|
|
|
| 45 |
echo "--> Пропущен некорректный ID: '$model_id'"
|
| 46 |
fi
|
| 47 |
done
|
|
|
|
| 17 |
echo "Начинаю обработку файла: $CSV_FILE"
|
| 18 |
echo "------------------------------------"
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
tail -n +2 "$CSV_FILE" | \
|
| 21 |
awk -F, '$NF ~ /^[[:space:]]*[0-9]+ [0-9]+[[:space:]]*$/ { split($NF, arr, " "); print arr[2] }' | \
|
| 22 |
+
tr -d '\r' | \
|
| 23 |
while read -r model_id; do
|
| 24 |
+
# Теперь эта проверка должна сработать корректно
|
| 25 |
if [[ -n "$model_id" && "$model_id" =~ ^[0-9]+$ ]]; then
|
| 26 |
echo "Попытка скачивания модели с ID: $model_id"
|
| 27 |
|
| 28 |
# Выполняем команду скачивания.
|
|
|
|
| 29 |
download-model "$model_id" || echo "--> Ошибка при скачивании модели $model_id. Продолжаю..."
|
| 30 |
else
|
| 31 |
+
# Это сообщение теперь будет появляться только для действительно плохих строк
|
| 32 |
echo "--> Пропущен некорректный ID: '$model_id'"
|
| 33 |
fi
|
| 34 |
done
|