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!
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
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!
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.
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!
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.