Для суммирования последних полей, в которых есть десятичная запятая (точка ):
awk '$NF ~ /\./ { sum += $NF } END { printf("%f\n", sum ) }' file.in
То есть, если в данных в последнем поле($NF
)есть точка, предположите, что это число, и добавьте его к sum
. В конце выведите сумму в формате, указанном в вопросе.
Обратите внимание, что при этом будут пропущены все целые числа в последнем поле.
Следующее позволит awk
попытаться использовать последнее поле как число независимо от того, что оно есть на самом деле. Это означает, что 1
будет интерпретироваться как 1, а 1.2
— как 1.2. Строки hello
и boo
будут нулевыми, а 123abc
будут приняты за 123.
awk '{ sum += $NF } END { printf("%f\n", sum) }'
Следующие поля не суммируют поля, содержащие что-либо, кроме цифр, точек, плюсов и минусов:
awk '$NF ~ /^[-+0-9.]*$/ { sum += $NF } END { printf("%f\n", sum) }'
Он по-прежнему будет принимать09+99...
(как 9 ), но сопоставление чисел с плавающей запятой не является -тривиальным и зависит от формата, который вам необходимо сопоставить. См., например. эти примеры на сайте RegExLib для более полезных шаблонов.
Пакет libseccomp
является частью RHEL, а не EPEL, поэтому вы будете загружать его из репозиториев RHEL после регистрации в менеджере подписки -. Версия в RHEL 7 libseccomp -2.3.1 -4.el7.