GAWK пропуск пустого значения при печати

Всем привет! Есть скрипт:

lsblk -f $4  | gawk '
    BEGIN { ORS = ""; print "{\"data\": ["}
    /MOUNTPOINT/ {next}
    /boot/ {next}
#    // {next}
    { printf "%s{\"{#MOUNTPOINT}\": \"%s\"}",
          separator, $4
      separator = ", "
    }
    END { print "]}" }
'

Он возвращает список точек монтирования:

{"data": [{"{#MOUNT}": ""}, {"{#MOUNT}": ""}, {"{#MOUNT}": "/"}, {"{#MOUNT}": "[SWAP]"}, {"{#MOUNT}": "/home"}, {"{#MOUNT}": ""}]}

Некоторые записи нулевые и их как то нужно пропускать, никак не пойму как их реализовать, подскажите пожалуйста! Спасибо!


Ответы (1 шт):

Автор решения: user2244399

Попробуйте

lsblk -f $4  | gawk '
    BEGIN { ORS = ""; print "{\"data\": ["}
    /MOUNTPOINT/ {next}
    /boot/ {next}
#    // {next}
    { if ($4) {printf "%s{\"{#MOUNTPOINT}\": \"%s\"}",
          separator, $4
      separator = ", "}
    }
    END { print "]}" }
'
→ Ссылка