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 integers, a solution for floating-point numbers would be useful down the line, but a simple integer method is fine.
Is there a way to get the min, max, median, and average of a list of numbers in a single command?
bash;awk;arithmetic;bc
You can use the R programming language.Here is a quick and dirty R script:#! /usr/bin/env Rscriptd<-scan(stdin, quiet=TRUE)cat(min(d), max(d), median(d), mean(d), sep=\n)Note the stdin in scan which is a special filename to read from standard input (that means from pipes or redirections).Now you can redirect your data over stdin to the R script:$ cat datafile124$ ./mmmm.r < datafile1422.333333Also works for floating points:$ cat datafile21.12.24.4$ ./mmmm.r < datafile21.14.42.22.566667If you don't want to write an R script file you can invoke a true one-liner (with linebreak only for readability) in the command line using Rscript:$ Rscript -e 'd<-scan(stdin, quiet=TRUE)' \          -e 'cat(min(d), max(d), median(d), mean(d), sep=\n)' < datafile1422.333333Read the fine R manuals at http://cran.r-project.org/manuals.html.Unfortunately the full reference is only available in PDF. Another way to read the reference is by typing ?topicname in the prompt of an interactive R session.For completeness: there is an R command which outputs all the values you want and more. Unfortunately in a human friendly format which is hard to parse programmatically.> summary(c(1,2,4))   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.   1.000   1.500   2.000   2.333   3.000   4.000 