#! /usr/bin/gawk -E
BEGIN {
sum = 0
if (ARGC > 1) {
for (i = 1; i < ARGC; i++) {
n = strtonum(ARGV[i])
printf "%s", i == 1 ? n : n < 0 ? " - " (-n) : " + "n
sep = " + "
sum += n
}
print " = "sum
}
}
inf
, nan
или такие вещи, как 0x1p6
), шестнадцатеричные и восьмеричные числа .
в английском языке, ,
во многих других языках ). printf("%.6g")
, а целые числа — как при использовании printf("%d")
. Внутри gawk
использует типы компилятора C double
и long
, но в последних версиях можно указать использовать произвольную точность с опцией -M
и переменной PREC
. $ locale decimal_point
.
$ that-script 1.23 -1e2 0x30 010 garbage
1.23 - 100 + 48 + 8 + 0 = -42.77
Одна из зависимостей (proj )связана в своем.la-файле с вредоносной версией sqlite3. Переустановка этой зависимости решила проблему.
В подобных случаях поможет поиск «неправильного пути» в зависимостях:
find <deps lib dir> -type f -exec grep -l "<wrong path>" {} +
Престижность https://stackoverflow.com/a/62500481/14339502, который сделал ценный намек на то, что «похоже, что у вас есть какой-то другой файл.la, который ссылается на него».