40 lines
880 B
Bash
Executable File
40 lines
880 B
Bash
Executable File
##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 addr in $(cat $1)
|
|
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
|
|
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
|