Informar ips e listar em arquivo texto [RESOLVIDO]

1. Informar ips e listar em arquivo texto [RESOLVIDO]

JOELSON VIEIRA OLIVEIRA
jvo

(usa Ubuntu)

Enviado em 04/04/2020 - 14:01h

Boa tarde, tenho esse exercício pra fazer,
4. Crie um script que deverá solicitar ao usuário que informe 5 IP’s, estas informações devem ser gravadas em arquivo de texto. Após receber os dados o script deverá limpar a tela e depois listar os dados recebidos.
Cheguei até aqui:
#!/bin/bash

clear

echo "Digite um IP:"
read ip

echo "Digite um IP:"
read ip1

echo "Digite um IP:"
read ip2

echo "Digite um IP:"
read ip3

echo "Digite um IP:"
read ip4

for cont in $(seq $ip $ip4)
do
echo "$cont"

clear
done > listaip.txt



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/04/2020 - 21:57h


jvo escreveu:

Boa tarde, tenho esse exercício pra fazer,
4. Crie um script que deverá solicitar ao usuário que informe 5 IP’s, estas informações devem ser gravadas em arquivo de texto. Após receber os dados o script deverá limpar a tela e depois listar os dados recebidos.
Cheguei até aqui:
#!/bin/bash

clear

echo "Digite um IP:"
read ip

echo "Digite um IP:"
read ip1

echo "Digite um IP:"
read ip2

echo "Digite um IP:"
read ip3

echo "Digite um IP:"
read ip4

for cont in $(seq $ip $ip4)
do
echo "$cont"

clear
done > listaip.txt

Boa noite Joelson.
Segue, com REGEX para validação.
#/bin/bash
REGEX='^([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9][0-9]?\.|1[0-9]{2}\.|2[0-4][0-9]\.|25[0-5]\.){2}([0-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-4])'
clear;
x=1;
while (($x<=5));do
read -p "Informe o $xº IP: ";
if grep -Eq "$REGEX" <<< "$REPLY";then
echo "$REPLY" >> LISTA_IP.txt;
let x++;
else echo "IP: ${REPLY} não é válido";
fi;
done
clear
awk 'BEGIN{printf "\nLista de IPs Informados:\n\n"}{printf "IP Nº %02d => %s\n" ,NR,$0}' LISTA_IP.txt


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________

3. Re: Informar ips e listar em arquivo texto [RESOLVIDO]

Matheus
pylm

(usa Gentoo)

Enviado em 04/04/2020 - 14:34h


Se tu precisa repetir a mesma coisa várias vezes então tá fazendo errado.


#!/usr/bin/env bash

# Limpa a tela e declara uma array
clear
declare -a ip_array

# Faz um loop por 5 vezes pedindo um IP a cada vez e adiciona na array
for i in $(seq 5); do
echo "Digite o $iº IP: "
read ip
ip_array+=($ip)
done

# Pega os itens da array e joga num arquivo de texto
for ip in ${ip_array[@]}; do
echo $ip >> listaip.txt
done

clear


O ideal seria usar um regex pra validar a entrada e confirmar que é mesmo um IP, já que como tá ele aceita qualquer coisa.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts