View script Copied!
Calculate count, total, average, range, and outliers from a list of integers. Feed it numbers from a pipe and get a statistical summary -- useful for quick analysis of response times, file sizes, or any numeric column from a log.
Outliers are detected using the 1.5 * IQR (Interquartile Range) method, the same approach used in box plots. This catches values that fall far outside the typical distribution without being overly sensitive to minor variations.
$ printf '100\n120\n110\n115\n105\n125\n90\n95\n130\n200\n' | stats
Count: 10
Total: 1190
Average: 119
Range: 110 (90 to 200)
Outliers: 200
1 of 10 (10.0%)
Analyze response times from a log:
$ grep 'response_time' access.log | awk '{print $7}' | stats
Count: 847
Total: 84223
Average: 99
Range: 1847 (12 to 1859)
Outliers: 1847 1859
2 of 847 (0.2%)
Break down a dataset with space-separated values:
$ echo "50 60 70 80 90" | stats
Count: 5
Total: 350
Average: 70
Range: 40 (50 to 90)
Outliers:
0 of 5 (0.0%)
Whitespace-separated input is normalized before processing: newlines, spaces, and tabs are all treated as separators.
Show the dataset before statistics:
$ printf '100\n120\n110\n115\n105\n125\n90\n95\n130\n200\n' | stats -n
100, 120, 110, 115, 105, 125, 90, 95, 130, 200
Count: 10
Total: 1190
Average: 119
Range: 110 (90 to 200)
Outliers: 200
1 of 10 (10.0%)
Check a large sequence:
$ seq 1 100 | stats
Count: 100
Total: 5050
Average: 50
Range: 99 (1 to 100)
Outliers:
0 of 100 (0.0%)
The script uses the Interquartile Range (IQR) method to identify outliers:
This is the same approach used in box-and-whisker plots. The 1.5 multiplier is a standard threshold that balances sensitivity (catching real anomalies) with specificity (avoiding false positives from normal variation).
| Flag | Description |
|---|---|
-n |
Print the dataset (comma-separated) before statistics |
-h, --help |
Show help message |
| Code | Meaning |
|---|---|
0 |
Success |
2 |
Usage error (non-integer input detected) |
3 |
Dependency error (bc missing) |
bc (for floating-point calculations in outlier detection and percentage)