+ Responder ao Tópico



  1. #1

    Padrão Ir para linha específica de um arquivo

    Boa tarde, pessoal!

    Estou precisando editar várias informações dentro de um arquivo com condições diferentes por linha. Gostaria então de saber se existe um comando que retorne o conteúdo de uma linha ao se passar como parâmetro o número da linha.

    Neste caso eu colocaria em uma estrutura de repetição e trataria linha por linha até chegar ao fim do arquivo.

    Atualmente consigo percorrer o arquivo, porém tenho que remover os espaços do mesmo.

    Código :
    for var in $(cat arquivo | -tr -d " "); do 
        echo $var 
    done
    Aqui percorro todas as linhas, uma a uma, mas caso eu tenha que replicar determinada linha em outro arquivo, ela irá sem os espaços.

    Existe um comando que retorne o número da linha ou alguma outra maneira de tratar linha a linha sem ter que alterar a estrutura do arquivo?

    Obrigado!

  2. #2

    Padrão Re: Ir para linha específica de um arquivo

    Opa... Eu não sei se entendi direito o que você precisa fazer... Mas me parece algo que o sed resolveria...

    Procurar um valor dentro do arquivo e substituir por outro resolveria?


    # cat teste.txt
    linha1
    linha2
    linha3
    # sed -i 's/linha1/linha1 edidata/' teste.txt
    # cat teste.txt
    linha1 edidata
    linha2
    linha3

  3. #3

    Padrão Re: Ir para linha específica de um arquivo

    Bom, Marcelo!

    Eu tinha pensado nesta possibilidade também, mas quero poder ter uma abordagem da linha inteira, pois dependendo de parte do valor da linha, tenho que alterar outra parte dela, e não aquele valor que foi encontrado. Assim, o sed não atende, pois ele vai alterar aquele valor achado.

    De qualquer forma, obrigado pelo post, mas ainda continuo com a dúvida!

    Abraço!

  4. #4

    Padrão Re: Ir para linha específica de um arquivo

    Me parece que talvez shell script não seja o mais indicado então... O que você quer fazer parece precisar de um certo nível de lógica e análise dos dados que seria mais fácil com uma linguagem de programação mesmo...

    Há um bom tempo que parei com shell e comecei a fazer este tipo de automação com PHP ou Python... No caso de PHP, para você que já mexe com shell, seria bem fácil de se adaptar e abre uma série de possibilidades.

  5. #5

    Padrão Re: Ir para linha específica de um arquivo

    Que pena, vou correr atrás disto então.
    Achei que conseguiria via shell.

    Mas valeu a ajuda!
    Obrigado!

  6. #6
    Avatar de renatocostas
    Ingresso
    Dec 2007
    Localização
    Av. Santos Dumont 119, centro -Montes Claros MG
    Posts
    288

    Padrão Re: Ir para linha específica de um arquivo

    utiliza PHP + CGI, que vc consegue o que quer, ou seja continua utilizando shell, mas dentro do PHP utilizando o CGI como interpretador.