Shell script: Contar anilhas de identificação de cabos
Identificar o cabeamento de uma rede é essencial para mantê-la organizada. Para facilitar, criei este script que mostra o total de anilhas de identificação necessárias para determinado numero de cabos.
Por exemplo, se você precisar identificar os cabos de rede de 1 a 35, basta chamar “./contar-anilhas 1 35″ (sem as aspas), que o programa irá lhe devolver como resultado, a quantidade de anilhas de cada número que será necessária para identificar todos os cabos.
Leve em consideração apenas que será exibida a quantidade para apenas 1 lado do cabo de rede. Caso deseje os dois, basta multiplicar por 2 (meio obvio não?).
Segue então o código abaixo. Qualquer dúvida ou sugestão de melhorias, deixe um comentário que terei o maior prazer em responder.
#!/bin/bash #contar-anilhas.sh desenvolvido por jeferson dos santos < jeferson at jeferson.info> #este script permite calcular quantas anilhas de cada numero serão necessarias #para identificar uma quantidade X de cabos #uso: #contar-anilhas.sh <numero inicial> <numero final> #exemplo: contar-anilhas.sh 1 6 #0 = 0 #1 = 1 #2 = 1 #3 = 1 #4 = 1 #5 = 1 #6 = 1 #7 = 0 #8 = 0 #9 = 0 #define todas as variaveis como 0 para não ficar nada em branco no final num0=0 num1=0 num2=0 num3=0 num4=0 num5=0 num6=0 num7=0 num8=0 num9=0 for NUMERO in $(seq $1 $2 | sed "s/\(.\)/\1 /g" | tr -s \ ); do [ $NUMERO -eq 0 ] && num0=$(($num0+1)) [ $NUMERO -eq 1 ] && num1=$(($num1+1)) [ $NUMERO -eq 2 ] && num2=$(($num2+1)) [ $NUMERO -eq 3 ] && num3=$(($num3+1)) [ $NUMERO -eq 4 ] && num4=$(($num4+1)) [ $NUMERO -eq 5 ] && num5=$(($num5+1)) [ $NUMERO -eq 6 ] && num6=$(($num6+1)) [ $NUMERO -eq 7 ] && num7=$(($num7+1)) [ $NUMERO -eq 8 ] && num8=$(($num8+1)) [ $NUMERO -eq 9 ] && num9=$(($num9+1)) done echo 0 = $num0 echo 1 = $num1 echo 2 = $num2 echo 3 = $num3 echo 4 = $num4 echo 5 = $num5 echo 6 = $num6 echo 7 = $num7 echo 8 = $num8 echo 9 = $num9