Puoi farlo con R , che potrebbe essere un po 'eccessivo ...
EDIT 2: [OOPS, sembra che qualcun altro abbia colpito Rscript mentre lo riscrivo.] Ho trovato un modo più semplice. Installato con R dovrebbe essere Rscript, che ha lo scopo di fare ciò che stai cercando di fare. Ad esempio, se ho un file bar
con un elenco di numeri, uno per riga:
cat bar | Rscript -e 'summary (as.numeric (readLines ("stdin")))'
Inoltrerà quei numeri in R ed eseguirà il summary
comando di R sulle linee, restituendo qualcosa del tipo:
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.25 3.50 3.50 4.75 6.00
Puoi anche fare qualcosa del tipo:
script -e 'quantile (as.numeric (readLines ("stdin")), probs=c(0.025, 0.5, 0.975))'
per ottenere quantili. E puoi ovviamente tagliare la prima riga di output (che contiene etichette) con qualcosa del tipo:
cat bar | Rscript -e 'summary (as.numeric (readLines ("stdin")))' | tail -n +2
Consiglio vivamente di fare prima quello che vuoi in R interattivo, per assicurarti di avere il comando corretto. Nel provare questo, ho lasciato fuori la parentesi di chiusura e Rscript non restituisce nulla - nessun messaggio di errore, nessun risultato, proprio niente.
(Per la cronaca, la barra dei file contiene:
1
2
3
4
5
6