Если вам нужно заботиться только о пустом последнем поле, то использование sed
будет короче:
$ sed 's/:$//; s/:/ + /g' file
Hello + world
Hello + worlds
Hello + world + example
Ваша предпринятая команда awk
может быть спасена следующим образом:
$ awk -F":" '{ print $1 " + " $2 ($3 != "" ? " + " $3 : "") }' file
Hello + world
Hello + worlds
Hello + world + example
Или, используяOFS
(разделитель выходного поля):
$ awk -F":" -v OFS=' + ' '{ print $1, $2 ($3 != "" ? OFS $3 : "") }' file
Hello + world
Hello + worlds
Hello + world + example
Дополнительное избавление от отрицательного теста:
$ awk -F":" -v OFS=' + ' '{ print $1, $2 ($3 == "" ? "" : OFS $3 ) }' file
Hello + world
Hello + worlds
Hello + world + example
Самый поучительный документ о том, как использовать версию systemd (cgroups v2 ), находится в документе Red Hat . Спасибо команде Red Hat! Документу легко следовать, имея пример управления процессором. Итак, я нашел свой ответ с помощью руководства @Stephen Kitt.