+ Responder ao Tópico



  1. #1

    Padrão Pegar informaçao de arquivo .txt

    Fala pessoal, tudo beleza? Estou precisando criar um Script para rodar no servidor e ele teria que pegar os IPs de um determinado arquivo de texto. Esse arquivo de texto é simples, cada linha tem um IP mais nada.

    Ele pegaria esses IPs do arquivo e executaria um for, cada hora com um IP do arquivo.

    Alguém poderia me dar uma luz de como pode-se fazer isso?

    Obrigado.
    Abraços.

  2. #2

    Padrão Re: Pegar informaçao de arquivo .txt

    Desculpa o flood, mas achei a solução. Segue abaixo:

    for i in `cat arquivo.txt|grep buscar`
    do
    comando
    done

    vlws!!!

  3. #3

    Padrão Re: Pegar informaçao de arquivo .txt

    Também pode usar o seguinte:
    Código :
    [B]while read VARIAVEL; do[/B] # le uma linha e coloca em VARIAVEL[B]
        echo $VARIAVEL [/B]# faz alguma coisa[B]
        sleep 5[/B] # espera 5 segundos[B]
    done < arquivo.txt[/B] # entrada pelo arquivo Ele faz até acabar o arquivo.
    Para repetir basta colocar dentro de outro laço.
    Última edição por osmano807; 30-07-2010 às 09:31.

  4. #4
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão Re: Pegar informaçao de arquivo .txt

    Citação Postado originalmente por equantum Ver Post
    Também pode usar o seguinte:

    while read VARIAVEL; do # le uma linha e coloca em VARIAVEL
    ... echo &VARIAVEL
    # faz alguma coisa
    ... sleep 5
    # espera 5 segundos
    done < arquivo.txt
    # entrada pelo arquivoEle faz até acabar o arquivo.
    Para repetir basta colocar dentro de outro laço.
    Essa aqui é mais portável, tem terminal que pode não suportar o tamanho da sua linha. (Claro, para 1 IP funciona...)
    Também tem que testar a velocidade, acho que essa aqui é mais rápido.

  5. #5

    Padrão Re: Pegar informaçao de arquivo .txt

    Citação Postado originalmente por osmano807 Ver Post
    Essa aqui é mais portável, tem terminal que pode não suportar o tamanho da sua linha. (Claro, para 1 IP funciona...)
    Também tem que testar a velocidade, acho que essa aqui é mais rápido.
    O SoullessBR havia dito que há apenas um ip por linha.

    O comando que ele mostrou lê o arquivo todo, redirecionando para grep. Então cada linha da saída do grep é usada no laço for. Ocupa mais memória.

    Porém, na solução que postei pode haver o problema de não poder alterar o arquivo de entrada (pode).
    Testei aqui e foi possível alterar o arquivo durante a execução do comando.
    Só deu problema quando apaguei o arquivo (hehehe).

    Penso o mesmo quanto à velocidade.