#!/bin/bash
FICHIER_IP=[ethernet1]\nState=1\nName=Internet\nProtected=1\nMedia=0\nType=2\nGateway=\nAddress=125.246.235.245\nMask=255.0.0.0\nAddressComment=\n\n[ethernet2]\nState=2\nName=Intra\nProtected=1\nMedia=0\nType=2\nColor=1564521\n\n[ethernet3]\nState=1\nName=NET_IN\nProtected=1\nMedia=0\nType=1\nColor=FF0000\nGateway=124.128.200.100\nAddress=125.246.230.240\nMask=255.255.255.0\nAddressComment=\n\nIP_DYN=false\nLABEL_DHCP="DHCP"\nNOM_RESEAU=NET_IN\nLABEL_NOM=Name\=\n\nLABEL_ADRESSE=Address\nLABEL_MASQUE=Mask\nLABEL_PASSERELLE=Gateway\nLABEL_BLOC=ethernet\nLIGNE_NOM_RESEAU=`grep -i -n ^$LABEL_NOM$NOM_RESEAU`\nLIGNE_ENTETES=`grep -i -n $LABEL_BLOC $FICHIER_IP`;
ADRESSE_IP=1.2.3.4
MASQUE_IP=255.255.0.0
PASSERELLE_IP=9.10.11.12
IP_DYN=false
LABEL_DHCP="DHCP"
VAR_TEMP=`echo $ADRESSE_IP | grep -i '$LABEL_DHCP'`;
if [ -n "$VAR_TEMP" ]
then
IP_DYN=true
MASQUE_IP=""
PASSERELLE_IP=""
fi
NOM_RESEAU=NET_IN
LABEL_NOM=Name\=
LABEL_ADRESSE=Address
LABEL_MASQUE=Mask
LABEL_PASSERELLE=Gateway
LABEL_BLOC=ethernet
LIGNE_NOM_RESEAU=`grep -i -n ^$LABEL_NOM$NOM_RESEAU $FICHIER_IP`;
NUM_LIGNE_RESEAU=`echo $LIGNE_NOM_RESEAU | cut -d':' -f1`
LIGNE_ENTETES=`grep -i -n $LABEL_BLOC $FICHIER_IP`;
NUMERO_LIGNE=`echo $LIGNE_ENTETES | cut -d ' ' -f1 | cut -d':' -f1`
i=2
DEBUT_BLOC="0"
FIN_FICHIER=`wc -l $FICHIER_IP | cut -d ' ' -f1`;
FIN_BLOC=$FIN_FICHIER
while [ -n "$NUMERO_LIGNE" ]&& [ "$i" -lt "$FIN_FICHIER" ]
do
if [ -n "$LIGNE_ENTETES" ]
then
NUMERO_LIGNE=`echo $LIGNE_ENTETES | cut -d ' ' -f$i | cut -d':' -f1`
if [ -n "$NUMERO_LIGNE" ]
then
if [ "$NUMERO_LIGNE" -lt "$NUM_LIGNE_RESEAU" ] && [ "$NUMERO_LIGNE" -gt "$DEBUT_BLOC" ]
then
DEBUT_BLOC=$NUMERO_LIGNE
fi
if [ "$NUMERO_LIGNE" -gt "$NUM_LIGNE_RESEAU" ] && [ "$NUMERO_LIGNE" -lt "$FIN_BLOC" ]
then
FIN_BLOC=$NUMERO_LIGNE
fi
fi
fi
i=$(( $i + 1))
done
echo fin 1
LABEL_DHCP_T=DHCPLeaseTime
LABEL_DNS=RequesteDNS
#remplacement des lignes dans le fichier en fonction du cas
if [ "$IP_DYN" == false ]
then
echo "ce n'est pas une adresse dyn"
sed -i "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_MASQUE.*$//" $FICHIER_IP
sed -i "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_PASSERELLE.*$//" $FICHIER_IP
sed -i "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_ADRESSE=.*$/$LABEL_PASSERELLE\=$PASSERELLE_IP\n$LABEL_ADRESSE\=$ADRESSE_IP\n$LABEL_MASQUE\=$MASQUE_IP/" $FICHIER_IP
sed -i "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_DHCP_T.*$//" $FICHIER_IP
sed -i "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_DNS=.*$//" $FICHIER_IP
else
echo "c'est une adresse dyn"
sed -i -n "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_DNS.*$//" $FICHIER_IP
sed -i -n "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_DHCP.*$//" $FICHIER_IP
sed -i -n "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_ADRESSE=.*$/$LABEL_DHCP_T\=3600\n$LABEL_DNS\=0\n$LABEL_ADRESSE\=$LABEL_DHCP/" $FICHIER_IP
sed -i -n "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_MASK.*$//" $FICHIER_IP
sed -i -n "$DEBUT_BLOC,$FIN_BLOC s/^$LABEL_PASSERELLE.*$//" $FICHIER_IP
fi
echo FICHIER_IP