#!/bin/bash
# lastact: arturo@2025-02-19
# desc: Obiente la lista de ips de versión 4 del equipo. Aquellas que empiezan por 172 y terminan en 0.1 las agrupa

[[ "${1}" ]] && \
MISIPSV4=( $(grep -Po "[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}" <<< "${*}") ) || \
MISIPSV4=( $(hostname -I | grep -Po "[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}" | tr -s "\n" " ") )

LISTA_FORMATEADA_IPSV4=()
LISTA_IPS_172_0_1=()
IPS_172_0_1_2CIFRA=()
for IP in "${MISIPSV4[@]}" ; do
	[[ "${IP}" =~ ^172.[[:digit:]]{1,3}.0.1$ ]] && LISTA_IPS_172_0_1+=( "${IP}" ) && IPS_172_0_1_2CIFRA+=( "$(cut -d"." -f2 <<< "${IP}")" ) && continue
	LISTA_FORMATEADA_IPSV4+=( "${IP}" )
done

[[ "${IPS_172_0_1_2CIFRA}" ]] && \
IPS_172_0_1_2CIFRA_ORDENADO="172.$(echo $(vx-funcs-bash vx-trim ${IPS_172_0_1_2CIFRA[*]}) | tr ' ' '\n' | sort -n | tr '\n' '|').0.1" && \
LISTA_FORMATEADA_IPSV4+=( $(sed -e "s#|\.#\.#g" <<< "${IPS_172_0_1_2CIFRA_ORDENADO}") )

echo "${LISTA_FORMATEADA_IPSV4[*]}"
