df -h | awk '
NF == 1 {device = $1; getline; $0 = device $0}
{sub(/%/, "", $5); print $1 "," $5 "," $6}
'
Первая строка тела awk увидит, имеет ли текущая строка только 1 поле.Если да, запомните устройство, прочитайте следующую строку и вставьте устройство в (новую) текущую строку.
Это должно быть выведено для выделенного вами элемента:
/dev/mapper/vg_01-lv_var,16,/var
Ивы можете удалить grep и tr из вашего конвейера.
Ваша оболочка нуждается в значительном улучшении.Вместо того, чтобы углубиться в это, вы можете просто выполнить всю работу в awk:
df -h | awk -v host="$HOST" -v limit=90 '
BEGIN {msg = "%s does not have enough room to patch, \"%s\" (%s) is %s full\n"}
NR == 1 {next}
NF == 1 {device = $1; getline; $0 = device $0}
$5 >= limit {printf msg, host, $6, $1, $5}
'