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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts