Число Awk printf по ширине и округляет в большую сторону его

В zsh можно сделать это с глобальным псевдонимом:

alias -g -- -mthreads=-pthread

Но если необходимо придерживаться удара, сделайте функцию оболочки для фильтрации аргументов, как @Kyle Jones объяснил.

20
18.11.2018, 16:14
3 ответа
[1133322]Вы можете попробовать следующее:

Наша опция формата состоит из двух частей:

3[1134043]: выход значений будет дополнен 3 символами.

.0f[1134045]: выход значений не будет иметь точности, значение округлено.

В [1133686]man awk[1133687]: более подробная информация:

27
27.01.2020, 19:44
[1133330] Используя спецификатор формата [1133688]%f[1133689], ваш номер (с плавающей точкой) будет автоматически округлен по указанному вами значению. Например, для округления значения до целого числа используйте

Если вам нужны дополнительные трейлинговые цифры, просто измените точность.[1133333].

9
27.01.2020, 19:44

awk использует sprintf под ним, и он делает беспристрастное округление, поэтому в зависимости от вашей платформы, если вы хотите, чтобы он всегда вокруг, вам может потребоваться использовать что-то вроде этого:

awk "начать {x + = (5/2); printf ('%. 0f', (x == int (x))? X: int (x) +1)} "

Не осознает, что это может привести к тонким, но противным ошибкам.

3
27.01.2020, 19:44

Теги

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