# Tagged Questions

The tag has no usage guidance.

74k views

### Is there a way to get the min, max, median, and average of a list of numbers in a single command?

I have a list of numbers in a file, one per line. How can I get the minimum, maximum, median and average values? I want to use the results in a bash script. Although my immediate situation is for ...
2k views

### python vs bc in evaluating 6^6^6

I am evaluating the expression 6^6^6 using python and bc separately. The content of the python file is print 6**6**6. When I execute time python test.py, I get the output as real 0m0.067s ...
29k views

### Doing simple math on the command line using bash functions: \$1 divided by \$2 (using bc perhaps)

Sometimes I need to divide one number by another. It would be great if I could just define a bash function for this. So far, I am forced to use expressions like echo 'scale=25;65320/670' | bc but ...
12k views

### Float operation with bc?

It looks like bc doesn't support float operations, when I do echo 1/8 | bc it get me a zero. I checked bc (1), but it doesn't even mention float, so I wonder if it's supported?
7k views

### How is bc different from dc?

What are the differences between dc and bc calculators? When should I use dc and when bc?
2k views

### Understand “ibase” and “obase” in case of conversions with bc?

I often use bc utility for converting hex to decimal and vice versa. However, it is always bit trial and error how ibase and obase should be configured. For example here I want to convert hex value C0 ...
10k views

### Does bc support hex calculations?

I'm trying to do a hex calculation directly with bc, I already specified the scale. echo 'scale=16;c06b1000-c06a5e78' | bc But I still get a zero. What could be wrong?
2k views

### Store 2^500 in a variable in bash

I want to store the value of 2^500 in the variable DELTA. I'm doing export DELTA=\$(echo "scale=2; 2^500" | bc) but this does not set DELTA to ...
3k views

### Cannot sum numbers received from stdin using bc

I'm trying to calculate the average entropy of files contained in a folder using: { echo '('; find . -type f -exec entropy {} \; | grep -Eo '[0-9.]+\$' | sed -r 's/\$/+/g'; echo '0)/'; find . -type f | ...
550 views

### how to add command line calculator to bash that uses comma as decimal mark?

How can I add a command line calculator to my bash? I have found some, but all of them use the full stop as decimal mark, but I want to have it to use the comma as decimal mark as most of the world ...
20k views

### Calculate variable, and output it to another variable

The only calculator I know is bc. I want to add 1 to a variable, and output to another variable. I got the nextnum variable from counting string in a file: nextnum=`grep -o stringtocount file.tpl....
350 views

### Automatic transformation of newlines in shell variable assignment

This came out of one of my comments to this question regarding the use of bc in shell scripting. bc puts line breaks in large numbers, e.g.: > num=\$(echo 6^6^3 | bc) > echo \$num ...
5k views

### Bash limiting precision of floating point variables

In Ubuntu 14.04.1 LTS 64-bit bash I am declearing floating point variables by multiplying floating point bash variables in bc with scale set to 3; however, I cannot get the number of digits after the ...
1k views

### How to define a `bc` function for later use?

I've always found bc kind of mysterious and intriguing. It was one of the original Unix programs. And it's a programming language unto itself. So I gladly take any chance I can find to use it. Since ...
262 views

### How to format floating point number with exactly 2 significant digits in bash?

I want to print the floating point number with exactly two significant digits in bash (maybe using a common tool like awk, bc, dc, perl etc.). Examples: 76543 should be printed as 76000 0.0076543 ...
14k views

### Perform floating point arithmetic in shell script variable definitions [duplicate]

I understand bash and some other interpreters only perform arithmetic for integers. In the following for loop, how can I accomplish this? I've read that bc can be used but am not sure how to use bc ...
282 views

### Float operations with bc not precise?

When I'm performing float operations in shell using bc, the result is not the same if I use a regular calculator. Am I doing something wrong? For example, I need to find a volume of a sphere. User ...
618 views

### Difficulty converting from binary to hexadecimal using bc

I read how to calculate using the command line calculator and a HERE-document, but nevertheless I do not get what I expected and can not find my error, what I did in the shell was: bc << HERE &...
370 views

### BC not handling scale = 0 correctly

I defined the cbrt function to return a cube root. I need to get an integer back (even if it is close to the cube root, it will be acceptable in my case). However, when I put the scale as 0 to get an ...
375 views

### bc output binary as nibbles separated by whitespace

I'm debugging code which contains quite a few bit shift operations, and I'm using bc a lot to look at what's happening on the bit level. Here's what I use: \$ echo 'obase=2;598980975283696640' | bc ...
1k views

### Round/truncate digit in string in zsh (or with external tool)

I'm trying to do an interface to bc so it can be used intuitively and without the annoyance of getting "stuck" in it. I haven't got around to test it that much, because I got stuck on another detail, ...
63 views

### A bc problem about long expression

I want to calculate an expression in shell. I use the following code: pi=\$(echo "scale=10; 4*a(1)" | bc -l) i=3 d=`expr (1+c(\$pi*(\$i/10)+\$pi))/2 | bc -l` But it says bad pattern: (1+c(3.1415926532*...
16k views

### How to calculate values in a shell script?

I run this command in the terminal: grep "bla bla blah" blah* | echo "Blah: \$(wc -l) / \$(ls | wc -l) * 100" And I get this output: Blah: 44 / 89 * 100 What I expect to see: 49.4 Is there a ...
537 views

### BC - output normal form?

I have a big number: 2923174917395723957 that would be: 2,923*10^18 are there any parameters in bc that will give this OUTPUT? e.g.: \$ echo '2923174917395723956 + 1' | bc 2,923*10^18 \$ Or ...
275 views

### How can I do basic calculations in a shell script?

I want to perform some mathematical operations in the shelll. For example: 5+50*3/20 + (19*2)/7 I tried: #!/bin/bash read equ echo "scale=3; \$equ" | bc -l Expected output: 17.929 My ...
687 views

### How to show zero before decimal point in bc?

echo "scale=3;1/8" | bc shows .125 on the screen. How to show 0.125 if the output result is less than one?
413 views

### Split input file into X parts of size total lines / X

Currently, my bash script splits by number of lines. However, I'd like to split a file into X pieces, each of those having total lines equal to the file length divided by X. The script is run as ...
4k views

### How can I call bc from within awk in this case?

OK, so I love my awk, but yeah, it has precision issues, and unfortunately there's no easy way for me to install the multi-precision extensions known as gawkextlib. What I am doing is, I am working ...
537 views

### Anyway to pass a variable to bc, having a command to be executed?

I need to pass certain variable to bc to get the output in floating point, var1=\$((<some operation>)) var2=\$((<some operation>)) #Needs var1 var3=\$((<some operation>)) #...
3k views

### How to divide a list of values by a number in command line?

I am trying to translate a simple program to the command line using unix utilities. For example, if I have a frequency list (after piping through uniq and sort) 5 x 4 y 1 z I want to print out, ...
1k views

### BC - no “\\n” at the end + start with zeros?

This is a bc output, e.g.: Input: echo "scale=10; BLA-BLA-HERE-NOT-IMPORTANT" | bc Output: .3708446283953709207058828124021300754352578903651372655882743141882\ ...
3k views

### How to sum a bash array of numbers (some in scientific notation)?

Since the following command using bc does not work for numbers in scientific notation, I was wondering about an alternative, e.g. using awk? sum=\$( IFS="+"; bc <<< "\${arrValues[*]}" )
3k views

### BC—automatic full precision multiplication

High, I need to test my arbitrary precision calculator, and bc seems like a nice yardstick to compare to, however, bc does truncate the result of each multiplication to what seems to be the maximum ...
3k views

### Syntax error comparing floats with bc

I'm trying to use the comparison operator of bc and I'm getting a "syntax error on line 1 stdin" error. I need to use the comparison functionality within a korn script because korn doesn't handle ...
203 views

### Problematic bc calculation in shell script

On Ubuntu 14.04.1 64-bit LTS I am writing a shell script and if I define the start of the sequence used in the for loop with a variable instead of a constant I get really weird behavior and there are ...
252 views

### bc behaves differently on Solaris and Linux

I have the following problem that I have not resolved for a long time now. We have a Linux (x86_64 GNU/Linux) server and a Solaris (SunOS 5.10 i86pc Solaris) server where I work. On the linux server, ...
129 views

### Shell Scripting: calculate power of a number with a real number as an exponent

I am using shell scripting and I am using the following expression: A=`echo "(( ((\$a / \$b) ^ 0.3) -1 ))" |bc -l` I want to have a real number as an exponent. I noticed that If I place 0.3, it ...
877 views

### Evaluation an expression and rounding up to three decimals

I have an expression "5+50*3/20 + (19*2)/7" I need to round it up to 3 decimal places. The answer to this is 17.92857142857143. When I use the script below it is giving me 17.928. The answer should be ...
38 views

### How do I get bc to start decimal fractions with a leading zero

How do I get bc to start decimal fractions with a leading zero? \$ bc <<< 'scale=4; 1/3' .3333 I want 0.3333.
24 views

### Wrong output in comparing floats

I'm trying to compare two floats in bash and something is going wrong. Here is the code sample based on solution here num1=0.502E-01 num2=0.01 echo \$num1'>'\$num2 | bc -l echo \$num2'>'\$num1 | bc ...
132 views

### bc scale: How to avoid rounding? (Calculate small binomial probability)

Following code calculates the Binomial Probability of a success event k out of n trials: n=144 prob=\$(echo "0.0139" | bc) echo -e "Enter no.:" read passedno k=\$passedno nCk2() { num=1 den=...
157 views

### bash: -eq vs. == and `bc` output type

This snippet of code has been taken from a larger script, (humbly) simulating the non-existing abs() function: [[ \$(echo "\$val < 0" | bc) -eq 1 ]] && val=\$(echo "\$val * -1" | bc) So we ...
102 views

### Sum up the selected fields

I have a file with a numeric value in character positions 86 to 99. I want to sum up the entire amount present in the file, only for lines which contain RS at position 124-125. I am trying to do like ...
7k views

### How to round or convert a float value to int with bc? getting: “(standard_in) 1: syntax error”

I will get value like 2743410360.320 and I want value like 2743410360 to a variable. I tried INTValueOfGB=\$ echo "(\$gb+0.5)/1" | bc But I am getting (standard_in) 1: syntax error
40 views

### How to calculate % of successful queries

I am trying to calculate what is the % of successful queries in apache log. I have two commands: cat access_log|cut -d' ' -f10|grep "2.."|wc -l and cat access_log|cut -d' ' -f10|wc -l They ...
320 views

### How do you derive a decimal from a math operation involving a variable?

I'm trying to find derive SCALEFACTOR which is basically 10000/(sum of 4th column in a file). How do I get a decimal from the output? Appreciate any help in advance. #!/bin/bash FILES=/path/to/files/...
2k views

### bc removes decimal point

This is related to Shell script too slow for output to Conky This code is nearly perfect: stdbuf -oL jack_cpu_load \ | grep --line-buffered "jack DSP load" \ | stdbuf -oL cut -d' ' -f4 \ ...
25 views

### Piping difference of grep -c's with different regex to bc

I need to find the number of words in a file (1 word per line) that do not contain some set of letters. To do this I want to take the difference of grep -c '.' <file> and grep -c '<...