#!/bin/bash # Читаем данные из zramctl [cite: 1] mapfile -t mem < <( zramctl -b | tail -n +2) IFS=$'\n' mem=($(sort <<<"${mem[*]}")) unset IFS barWidth=38 clear="\e[39m\e[0m" usageColor="\e[33m" printf '\nZram:\n' for point in "${mem[@]}"; do # Читаем устройство, алгоритм, размер, данные и общий сжатый объем IFS=" " read -r DEV_PATH ALGO SIZE DATA TOTAL <<<$(echo "${point}" | awk {'print $1,$2,$3,$4,$6'}) DEV_NAME="${DEV_PATH##*/}" # Оставляем только zram0 # Расчеты в GiB с точностью 1 знак usedGi=$(awk "BEGIN {printf \"%.1f\", $DATA/1024/1024/1024}") totalGi=$(awk "BEGIN {printf \"%.1f\", $SIZE/1024/1024/1024}") ratio=$(awk "BEGIN {if ($TOTAL>0) printf \"%.2f\", $DATA/$TOTAL; else print \"1.00\"}") # Расчет полоски (38 символов) [cite: 1, 4, 5] usedBarWidth=$((barWidth*DATA/SIZE)) barContent="${usageColor}" for ((i=0; i