Возможно, необходимо установить libpurple-dev
с apt-get
. Это должно решить эту проблему.
List::Util
(часть стандартной библиотеки с 5. 8, иначе доступно на CPAN):
Просто для развлечения, вы также можете использовать это (предполагая, что GNU [1168661]grep[1168662]):
Объяснение
grep -Eo '[0-9]+' file[1168920] распечатывает все совпадения положительных десятичных целых чисел в файле. Каждое совпадение будет выведено в отдельной строке, в соответствии с флагом [1168921]-o[1168922].
сортировка -rn[1168924] сортирует список в числовом и обратном порядке, так, чтобы первое число было наибольшим. Головка -n 1[1168926] печатает первую строку.
Пошагово:
Это сработает с файлом, содержащим одну строку, если у вас в файле есть многострочная, и вы хотите найти максимальное значение по всем строкам, попробуйте:
или, как предложил @Gnouc в комментариях:
Если вы хотите поддерживать различные типы чисел (-2, 1E-20, inf, 0x2f, 0b0101, 0777.... ), а не только положительные десятичные целые числа, можно сделать:
perl -lne '
while (m{(?!<\w)(?:(0x[0-9a-f]+|
0b[01]+|
0[0-7]+)|
[-+]?(\d+(\.\d*)?|\.\d+)(e[-+]?\d+)?|
infinity|inf)(?!\w)}xgi) {
$v = defined($1) ? oct($1) : $&;
$m = $& unless defined($m) && $m >= $v
}
END {print $m if defined $m}'
Да, это не perl
, но мне нравится GNU awk
для этой
awk -v RS='[[:space:]]+' 'BEGIN{max=-inf};{max = $0>max? $0: max};END{print max}' file
63