Kaliberfoo

Übersicht der Ladungsgrößen für Schwarzpulver-Kurzwaffen
============================
Kaliber    |   Ladungen (in Grain)
-------------------------------------------
0.31       | Min:  12.13 | Mittel:  15.18 | Max:  18.23
0.32       | Min:  12.52 | Mittel:  15.57 | Max:  18.62
0.36       | Min:  14.08 | Mittel:  17.13 | Max:  20.18
0.40       | Min:  15.65 | Mittel:  18.70 | Max:  21.75
0.41       | Min:  16.04 | Mittel:  19.09 | Max:  22.14
0.44       | Min:  17.21 | Mittel:  20.26 | Max:  23.31
0.45       | Min:  17.60 | Mittel:  20.65 | Max:  23.70
0.47       | Min:  18.38 | Mittel:  21.43 | Max:  24.48
0.50       | Min:  19.56 | Mittel:  22.61 | Max:  25.66
0.52       | Min:  20.34 | Mittel:  23.39 | Max:  26.44
0.54       | Min:  21.12 | Mittel:  24.17 | Max:  27.22
0.58       | Min:  22.69 | Mittel:  25.74 | Max:  28.79
0.62       | Min:  24.25 | Mittel:  27.30 | Max:  30.35
0.69       | Min:  26.99 | Mittel:  30.04 | Max:  33.09
Übersicht der Ladungsgrößen für Schwarzpulver-Langwaffen
============================
Kaliber    |   Ladungen (in Grain)
-------------------------------------------
0.32       | Min:  31.29 | Mittel:  35.89 | Max:  40.49
0.36       | Min:  35.20 | Mittel:  39.80 | Max:  44.40
0.38       | Min:  37.16 | Mittel:  41.76 | Max:  46.36
0.40       | Min:  39.12 | Mittel:  43.72 | Max:  48.32
0.41       | Min:  40.09 | Mittel:  44.69 | Max:  49.29
0.42       | Min:  41.07 | Mittel:  45.67 | Max:  50.27
0.45       | Min:  44.01 | Mittel:  48.61 | Max:  53.21
0.48       | Min:  46.94 | Mittel:  51.54 | Max:  56.14
0.50       | Min:  48.90 | Mittel:  53.49 | Max:  58.10
0.52       | Min:  50.85 | Mittel:  55.45 | Max:  60.05
0.54       | Min:  52.81 | Mittel:  57.41 | Max:  62.01
0.58       | Min:  56.72 | Mittel:  61.32 | Max:  65.92
0.62       | Min:  60.63 | Mittel:  65.23 | Max:  69.83
0.69       | Min:  67.48 | Mittel:  72.08 | Max:  76.68
0.72       | Min:  70.41 | Mittel:  75.01 | Max:  79.61
0.75       | Min:  73.34 | Mittel:  77.94 | Max:  82.54

Berechnung mit separater Liste für Kurzwaffen

Liste mit Kurzwaffenkalibern

0.31
0.32
0.36
0.40
0.41
0.44
0.45
0.47
0.50
0.52
0.54
0.58
0.62
0.69

Funktion

#!/usr/bin/env bash
export LC_NUMERIC=C

kaliber_datei="kaliber_kw.txt"

if [[ ! -f "$kaliber_datei" ]]; then
    echo "Fehler: Datei '$kaliber_datei' nicht gefunden."
    exit 1
fi

berechne_ladungen() {
    local kaliber_zoll="$1"
    local kaliber_cm
    local min max mittel

    kaliber_cm=$(echo "$kaliber_zoll * 25.4" | bc -l)
    min=$(echo "($kaliber_cm * 0.1) * 15.4" | bc -l)
    max=$(echo "$min + 6.1" | bc -l)
    mittel=$(echo "($min + $max) / 2" | bc -l)

    LC_NUMERIC=C printf "%-10s | Min: %6.2f | Mittel: %6.2f | Max: %6.2f\n" \
        "$kaliber_zoll" "$min" "$mittel" "$max"
}

echo ""
echo "Übersicht der Ladungsgrößen für Schwarzpulver-Kurzwaffen"
echo "============================"
echo "Kaliber    |   Ladungen (in Grain)"
echo "-------------------------------------------"

while IFS= read -r k; do
    [[ -z "$k" ]] && continue
    berechne_ladungen "$k"
done < "$kaliber_datei"

echo ""

Berechnung mit separater Liste für Langwaffen

Liste mit Langwaffenkalibern

0.32
0.36
0.38
0.40
0.41
0.42
0.45
0.48
0.50
0.52
0.54
0.58
0.62
0.69
0.72
0.75

Funktion

#!/usr/bin/env bash
export LC_NUMERIC=C

kaliber_datei="kaliber_lw.txt"

if [[ ! -f "$kaliber_datei" ]]; then
    echo "Fehler: Datei '$kaliber_datei' nicht gefunden."
    exit 1
fi

berechne_ladungen() {
    local kaliber_zoll="$1"
    local kaliber_cm
    local min max mittel

    kaliber_cm=$(echo "$kaliber_zoll * 25.4" | bc -l)
    min=$(echo "($kaliber_cm * 0.25) * 15.4" | bc -l)
    max=$(echo "$min + 9.2" | bc -l)
    mittel=$(echo "($min + $max) / 2" | bc -l)

    LC_NUMERIC=C printf "%-10s | Min: %6.2f | Mittel: %6.2f | Max: %6.2f\n" \
        "$kaliber_zoll" "$min" "$mittel" "$max"
}

echo ""
echo "Übersicht der Ladungsgrößen für Schwarzpulver-Langwaffen"
echo "============================"
echo "Kaliber    |   Ladungen (in Grain)"
echo "-------------------------------------------"

while IFS= read -r k; do
    [[ -z "$k" ]] && continue
    berechne_ladungen "$k"
done < "$kaliber_datei"

echo ""

Berechnung ohne separate Liste (Werte stehen in Array) für Kurzwaffen

#!/usr/bin/env bash
export LC_NUMERIC=C

# Liste der Kaliber im Array
kaliber_liste=("0.31" "0.32" "0.36" "0.40" "0.41" "0.44" "0.45" "0.47" "0.50" "0.52" "0.54" "0.58" "0.62" "0.69")

# Funktion zur Berechnung und Ausgabe
berechne_ladungen() {
    local kaliber_zoll="$1"
    local kaliber_cm
    local min max mittel

    kaliber_cm=$(echo "$kaliber_zoll * 25.4" | bc -l)
    min=$(echo "($kaliber_cm * 0.1) * 15.4" | bc -l)
    max=$(echo "$min + 6.1" | bc -l)
    mittel=$(echo "($min + $max) / 2" | bc -l)

    LC_NUMERIC=C printf "%-10s | Min: %6.2f | Mittel: %6.2f | Max: %6.2f\n" \
        "$kaliber_zoll" "$min" "$mittel" "$max"
}

echo ""
echo "Übersicht der Ladungsgrößen für Schwarzpulver-Kurzwaffen"
echo "============================"
echo "Kaliber    |   Ladungen (in Grain)"
echo "-------------------------------------------"

for k in "${kaliber_liste[@]}"; do
    berechne_ladungen "$k"
done

echo ""

Berechnung ohne separate Liste (Werte stehen in Array) für Langwaffen

#!/bin/bash
export LC_NUMERIC=C

# Liste der Kaliber im Array
kaliber_liste=("0.32" "0.36" "0.38" "0.40" "0.41" "0.42" "0.45" "0.48" "0.50" "0.52" "0.54" "0.58" "0.62" "0.69" "0.72" "0.75")

# Funktion zur Berechnung und Ausgabe
berechne_ladungen() {
    local kaliber_zoll="$1"
    local kaliber_cm
    local min max mittel

    kaliber_cm=$(echo "$kaliber_zoll * 25.4" | bc -l)
    min=$(echo "($kaliber_cm * 0.25) * 15.4" | bc -l)
    max=$(echo "$min + 9.2" | bc -l)
    mittel=$(echo "($min + $max) / 2" | bc -l)

    LC_NUMERIC=C printf "%-10s | Min: %6.2f | Mittel: %6.2f | Max: %6.2f\n" \
        "$kaliber_zoll" "$min" "$mittel" "$max"
}

echo ""
echo "Übersicht der Ladungsgrößen für Schwarzpulver-Langwaffen"
echo "============================"
echo "Kaliber    |   Ladungen (in Grain)"
echo "-------------------------------------------"

for k in "${kaliber_liste[@]}"; do
    berechne_ladungen "$k"
done

echo ""