ทุบตี
ตามที่ระบุไว้โดยคนอื่น ๆbash
ไม่สนับสนุนการคำนวณเลขทศนิยมแม้ว่าคุณสามารถปลอมมันด้วยการใช้เล่ห์เหลี่ยมทศนิยมคงที่เช่นกับทศนิยมสอง:
echo $(( 100 * 1 / 3 )) | sed 's/..$/.&/'
เอาท์พุท:
.33
ดูคำตอบของ Nilfredสำหรับแนวทางที่คล้ายกัน แต่กระชับกว่า
ทางเลือก
นอกเหนือจากที่กล่าวมาbc
และawk
ทางเลือกนอกจากนี้ยังมีดังต่อไปนี้:
CLISP
clisp -x '(/ 1.0 3)'
ด้วยการล้างเอาต์พุต:
clisp --quiet -x '(/ 1.0 3)'
หรือผ่าน stdin:
echo '(/ 1.0 3)' | clisp --quiet | tail -n1
กระแสตรง
echo 2k 1 3 /p | dc
เครื่องคิดเลข CLI อัจฉริยะ
echo 1/3.0 | genius
Ghostscript
echo 1 3 div = | gs -dNODISPLAY -dQUIET | sed -n '1s/.*>//p'
gnuplot
echo 'pr 1/3.' | gnuplot
JQ
echo 1/3 | jq -nf /dev/stdin
หรือ:
jq -n 1/3
ksh
echo 'print $(( 1/3. ))' | ksh
หลัว
lua -e 'print(1/3)'
หรือผ่าน stdin:
echo 'print(1/3)' | lua
แม็กซิม่า
echo '1/3,numer;' | maxima
ด้วยการล้างเอาต์พุต:
echo '1/3,numer;' | maxima --quiet | sed -En '2s/[^ ]+ [^ ]+ +//p'
ปม
echo 1/3 | node -p
เสียงคู่แปด
echo 1/3 | octave
Perl
echo print 1/3 | perl
python2
echo print 1/3. | python2
python3
echo 'print(1/3)' | python3
R
echo 1/3 | R --no-save
ด้วยการล้างเอาต์พุต:
echo 1/3 | R --vanilla --quiet | sed -n '2s/.* //p'
ทับทิม
echo print 1/3.0 | ruby
wcalc
echo 1/3 | wcalc
ด้วยการล้างเอาต์พุต:
echo 1/3 | wcalc | tr -d ' ' | cut -d= -f2
zsh
echo 'print $(( 1/3. ))' | zsh
หน่วย
units 1/3
ด้วยเอาต์พุตขนาดกะทัดรัด:
units --co 1/3
แหล่งอื่น ๆ
Stéphane Chazelas ตอบคำถามแบบเดียวกันบน Unix.SX