GNU/Linux >> Znalost Linux >  >> Linux

Získejte stropní celé číslo z čísla v linuxu (BASH)

Volání do skriptovacího jazyka s funkcí ceil. Dané $NUMBER :

python -c "from math import ceil; print ceil($NUMBER/500.0)"

nebo

perl -w -e "use POSIX; print ceil($NUMBER/500.0), qq{\n}"

Proč používat externí skriptovací jazyky? Ve výchozím nastavení dostanete podlahu. Chcete-li získat strop, udělejte

$ divide=8; by=3; (( result=(divide+by-1)/by )); echo $result
3
$ divide=9; by=3; (( result=(divide+by-1)/by )); echo $result
3
$ divide=10; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=11; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=12; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=13; by=3; (( result=(divide+by-1)/by )); echo $result
5
....

Chcete-li vzít v úvahu záporná čísla, můžete to trochu posílit. Pravděpodobně čistší cesty, ale pro začátek

$ divide=-10; by=10; neg=; if [ $divide -lt 0 ]; then (( divide=-divide )); neg=1; fi; (( result=(divide+by-1)/by )); if [ $neg ]; then (( result=-result )); fi; echo $result
-1

$ divide=10; by=10; neg=; if [ $divide -lt 0 ]; then (( divide=-divide )); neg=1; fi; (( result=(divide+by-1)/by )); if [ $neg ]; then (( result=-result )); fi; echo $result
1

(Upraveno na přepnutí let ... do (( ... )) .)


Linux
  1. Získat úplnou cestu ze skriptu Bash?

  2. Jak mohu získat jedinečné hodnoty z pole v Bash?

  3. Získejte včerejší datum v bash na Linuxu, DST-safe

  1. Jak získat název hostitele z IP (Linux)?

  2. C++ Získejte řetězec ze schránky na Linuxu

  3. Získejte masku podsítě v Linuxu pomocí bash

  1. Jak mohu získat poslední číslo z řetězce v bash?

  2. Jak získat počet fyzických disků v Linuxu?

  3. Jak získat masku sítě z bash?