#!/bin/bash
# Принимаем параметры (группа и бригада) для совместимости с меню, но не используем
group=$1
brigada=$2
data_file="file_test"
# Определяем следующий номер записи
if [ -f "$data_file" ]; then
last_num=$(wc -l < "$data_file")
next_num=$((last_num + 1))
else
next_num=1
fi
echo "Добавление новых записей (для завершения оставьте поле ФИО пустым)"
while true; do
echo ""
echo "Запись №$next_num"
read -p "Введите ФИО (не более 10 символов): " surname
if [ -z "$surname" ]; then
break
fi
# Обрезаем ФИО до 10 символов, чтобы сохранить фиксированную ширину
surname=$(echo "$surname" | cut -c1-10)
read -p "Введите год рождения (цифры): " year
# Проверка, что год состоит из цифр
if ! [[ "$year" =~ ^[0-9]+$ ]]; then
echo "Год должен быть числом. Запись пропущена."
continue
fi
read -p "Введите город (не более 10 символов): " city
city=$(echo "$city" | cut -c1-10)
read -p "Введите средний балл (число, можно дробное): " bal
# Проверка формата числа (целое или с плавающей точкой)
if ! [[ "$bal" =~ ^[0-9]+(\.[0-9]+)?$ ]]; then
echo "Балл должен быть числом (например, 4.5). Запись пропущена."
continue
fi
# Форматируем строку с фиксированной шириной полей
# %-5s – номер (влево 5), %-10s – фио (влево 10), %-10s – год, %-10s – город, %-10s – бал
formatted_line=$(printf "%-5s%-10s%-10s%-10s%-10s\n" "$next_num" "$surname" "$year" "$city" "$bal")
echo "$formatted_line" >> "$data_file"
echo "Запись добавлена."
next_num=$((next_num + 1))
done
echo "Добавление завершено."