Escrever a variavel no arquivo com o comando sed [RESOLVIDO]

1. Escrever a variavel no arquivo com o comando sed [RESOLVIDO]

Marco Capella
MarcoC

(usa Outra)

Enviado em 23/04/2022 - 19:47h

Ola.
Estou tentando modificar uma linha no script com o nome do user mais ainda não consegui nem encontrei ajuda no tio google.
Gostaria de usar o comando sed para modificar a 5 linha (por exemplo) incluindo uma variavel com o nome do user como no exemplo abaixo:

ARQUIVO DE INSTALAÇÂO
#!/bin/bash
sed -i 5c\nome=$USER arquivo-testes.sh

ou

vari1=$USER
sed -i 5c\nome=$vari1 arquivo-testes.sh

RESULTADO ESPERADO EM arquivo-testes.sh
ANTES

#!/bin/bash
##################################################
# arquivo de teste #
##################################################
#
clear
etc
etc

DEPOIS

#!/bin/bash
##################################################
# arquivo de teste #
##################################################
nome=$estudante
clear
etc
etc

Procurei no google e encontrei muita coisa sobre o comando sed mas nenhuma dica sobre substituir uma linha pela variavel . . .

E isso pessoal, Desculpe se coloquei o texto muito grande e desde ja, muito obrigado pela atenção e ajuda





  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/04/2022 - 23:38h

MarcoC escreveu:

Ola.
Estou tentando modificar uma linha no script com o nome do user mais ainda não consegui nem encontrei ajuda no tio google.
Gostaria de usar o comando sed para modificar a 5 linha (por exemplo) incluindo uma variavel com o nome do user como no exemplo abaixo:

ARQUIVO DE INSTALAÇÂO
#!/bin/bash
sed -i 5c\nome=$USER arquivo-testes.sh

ou

vari1=$USER
sed -i 5c\nome=$vari1 arquivo-testes.sh

RESULTADO ESPERADO EM arquivo-testes.sh
ANTES

#!/bin/bash
##################################################
# arquivo de teste #
##################################################
#
clear
etc
etc

DEPOIS

#!/bin/bash
##################################################
# arquivo de teste #
##################################################
nome=$estudante
clear
etc
etc

Procurei no google e encontrei muita coisa sobre o comando sed mas nenhuma dica sobre substituir uma linha pela variavel . . .

E isso pessoal, Desculpe se coloquei o texto muito grande e desde ja, muito obrigado pela atenção e ajuda

Boa noite, segue:
sed -i "5c\nome=${USER}" arquivo
Outra opção:
sed -i "5s/.*/nome=${USER}/" arquivo
#Na linha 5, troca tudo por nome=${USER}



______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Escrever a variavel no arquivo com o comando sed [RESOLVIDO]

Marco Capella
MarcoC

(usa Outra)

Enviado em 25/04/2022 - 00:43h

msoliver deu certinho

Muito obrigado, na primeira dica ja funcionou.

Valeu, obrigado pela atenção.



4. Re: Escrever a variavel no arquivo com o comando sed [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/04/2022 - 14:24h


MarcoC escreveu:

msoliver deu certinho

Muito obrigado, na primeira dica ja funcionou.

Valeu, obrigado pela atenção.

Por nada.
Se não for pedir muito,
Marque a resposta como a Melhor.
Dessa forma, você também me ajuda.



______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts