#!/bin/bash HOMECPU="homecpu.txt" CURRENTCPU=$(grep -m1 'model name' /proc/cpuinfo | awk -F':' '{print $2}' | sed -E 's/^[ \t]+//') # Извлекаем только модель (например, i7-9700K из полного названия) EXTRACT_MODEL() { echo "$1" | grep -oE '[iI]ntel|[aA]md|[iI][0-9]*-[0-9A-Z]*|[rR]yzen|[0-9A-Z]*-[0-9A-Z]*' | head -1 } CURRENT_MODEL=$(EXTRACT_MODEL "$CURRENTCPU") gcc ./code.c -o ./run if [ ! -f "$HOMECPU" ]; then echo "Домашняя модель CPU не найдена, используем текущую: $CURRENT_MODEL" CPUMODEL="$CURRENT_MODEL" else HOMECPU_CONTENT=$(<"$HOMECPU") HOME_MODEL=$(EXTRACT_MODEL "$HOMECPU_CONTENT") echo "Домашняя модель CPU: $HOME_MODEL" echo "Текущая модель CPU: $CURRENT_MODEL" if [ "$CURRENT_MODEL" = "$HOME_MODEL" ]; then echo "Модели совпадают, используем текущую модель" CPUMODEL="$CURRENT_MODEL" else echo "Модели не совпадают, используем домашнюю модель" CPUMODEL="$HOME_MODEL" fi fi # Отправляем модель CPU и ввод для программы ( printf "%s\n1\n" "$CPUMODEL"; cat ) | ./run