#!/bin/sh

check()
{
    [ "$2" != "$3" ] && echo "FATAL with '$1': result '$3' do not match with '$2'" || echo "OK for '$1' with '$2'"
}

# 1.2.3.4.5 -> 1
normalize_version1()
{
    echo "$1" | sed -e "s|\..*||"
}

# 1.2.3.4.5 -> 1.2
normalize_version2()
{
    echo "$1" | sed -e "s|^\([^.][^.]*\.[^.][^.]*\)\..*|\1|"
}

# 1.2.3.4.5 -> 1.2.3
normalize_version3()
{
    echo "$1" | sed -e "s|^\([^.][^.]*\.[^.][^.]*\.[^.][^.]*\)\..*|\1|"
}


test1()
{
    check "$1" "$2" "$(normalize_version1 "$1")"
}

test2()
{
    check "$1" "$2" "$(normalize_version2 "$1")"
}

test3()
{
    check "$1" "$2" "$(normalize_version3 "$1")"
}

echo
echo " 1"
test1 1              1
test1 10             10
test1 10.1           10
test1 10.01          10
test1 1.1            1
test1 1.1.1          1
test1 1.2.3.4        1
test1 1.2.3.4.5      1
test1 123            123

echo
echo " 2"
test2 2.1            2.1
test2 2              2
test2 10             10
test2 10.1           10.1
test2 10.01          10.01
test2 1.1            1.1
test2 1.1.1          1.1
test2 1.2.3.4        1.2
test2 1.2.3.4.5      1.2
test2 123            123

echo
echo " 3"
test3 2.1            2.1
test3 2              2
test3 10             10
test3 10.1           10.1
test3 10.01          10.01
test3 1.1            1.1
test3 1.1.1          1.1.1
test3 1.2.3.4        1.2.3
test3 1.2.3.4.5      1.2.3
test3 1.2.3.4.5.6    1.2.3
test3 123            123