$ awk -v p='10' 'NR==1 { split($0,cols); next }
{
for (i=2; i<=NF; ++i)
nt[i] += ($i == "TRUE" ? 1 : 0 )
}
END {
for (i=2; i<=NF; ++i) {
cp = 100*nt[i]/NR
if (cp > p) printf("%-20s %.2f%%\n", cols[i], cp)
}
}' file
MT 30.00%
group1 20.00%
group1.9 30.00%
Программа awk
использует параметр p
, который представляет собой процент от TRUE
, необходимый для отображения заголовка столбца.
Из первой строки он сохраняет все заголовки столбцов в массив cols
. Затем подсчитывается, сколько раз слово TRUE
встречается в каждом столбце. В конце он вычисляет процент строк, которые были TRUE
в каждом столбце как cp
и сравнивает это с p
. Если оно больше заданного значения p
, выводится имя столбца и процентное значение.
cat /sys/class/net/enp2s6/duplex
1 │ full
В соответствии с тем, что у вас есть полнодуплексный канал, тогда 1000baseT -HD является проблемой с тем, что показывает mii-tool
.
rx_missed: 1352
Похоже, это объясняет проблему, с которой вы столкнулись: пропущенные пакеты rx вызывают повторную -передачу. Возможно, ваша система работает медленно. Вы можете попытаться включить объединение прерываний rx, например.
ethtool -C enp2s6 rx-usecs 200