BUT2/SCR/SCR1.1/TP08/bin2dot-with-read.sh

41 lines
931 B
Bash
Raw Permalink Normal View History

2023-10-23 13:23:36 +02:00
##convertis des nombres binaires de 32 bits d'un fichier A
## en adresse ipv4 vers un fichier B
#!/bin/bash
if [[ $# -lt 2 ]]
then
echo "Usage: $0 <fichier_source> <fichier_destination>"
exit
fi
## vérifie si $1 est un fichier régulier
if [[ -f $1 ]]
then
if [[ -f $2 ]]
then
echo -n "$2 existe. Voulez vous écrire les adresse ip dans ce fichier ? oui/non : "
read answer
if [[ $answer = "oui" ]]
then
for read addr
do
x=$(expr substr $addr 1 8)
y=$(expr substr $addr 9 8)
z=$(expr substr $addr 17 8)
t=$(expr substr $addr 25 8)
addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))
echo $addr_dot >> $2
done
echo "Les adresses ipv4 ont bien été ajouté à $2"
exit
else
echo "aucune action n'as été effectué"
exit
fi
else
echo "$2 n'esxiste pas ou n'est pas un fichier"
exit
fi
else
echo "$1 n'esxiste pas ou n'est pas un fichier"
exit
fi