Запретить монтированию CIFS постоянно запрашивать общий ресурс SMB Keep-Alive

Вот что вы можете начать:

ENUM_LARGEST=$(ls | sed 's/enum-//' | sort -n | tail -1)

..., которая получит ноль-дополненное значение. Один из способов отбрасывания ведущих нулей:

ENUM_LARGEST=$(ls | sed 's/enum-//' | sort -n | tail -1 | bc)

-121--93946-

Вы не должны выполнять синтаксический анализ . Вместо этого используйте echo / awk :

ENUM_LARGEST="$(echo enum-* | awk '$0=substr($NF,6)')"

Часть awk печатает номер самого высокого номера файла с первыми нулями ( 00190 ). substr удаляет первый символ 6 ( enum- ).

-121--93950-

bash не имеет встроенной математики с плавающей запятой, и я считаю, что она не предоставляет квадратные корни. Для этого необходимо вызвать внешнюю утилиту, например, bc .

Возможно, лучше написать этот код на другом языке, например Perl или Python; это приближается к порогу сложности, который не справляется с этим хорошо, кажется.

0
19.01.2018, 00:36
0 ответов

Теги

Похожие вопросы