Dificuldade com o comando sed [RESOLVIDO]

1. Dificuldade com o comando sed [RESOLVIDO]

Marco Capella
MarcoC

(usa Outra)

Enviado em 14/05/2022 - 17:32h

Ola.

Pessoal estou tentando fazer um script para editar o arquivo

".xscreensaver" e incluir uma linha, por exemplo:

            qix -root                \n\ 


como mostrado acima, com espaços etc, tentei com o comando abaixo

sudo sed -i '53c\            qix -root                \n\' ~/.xscreensaver 


Mas não estou conseguido, fica faltando a ultima contra barra

como mostrado abaixo

            qix -root                \n 


Alguem poderia ajudar?

Gente não tenho conhecimento e estou iniciando meus estudos em shell script linux, desculpe se o texto ficou

muito grande e desde ja, muito obrigado pela atenção



  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 16/05/2022 - 11:08h

Eu tentei assim e deu certo:

sed -i '53c\ qix -root \\n\\' ~/.xscreensaver



--
http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh

3. Re: Dificuldade com o comando sed

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/05/2022 - 15:24h

MarcoC escreveu:
Ola.
Pessoal estou tentando fazer um script para editar o arquivo
".xscreensaver" e incluir uma linha, por exemplo:
            qix -root                \n\ 

como mostrado acima, com espaços etc, tentei com o comando abaixo
sudo sed -i '53c\            qix -root                \n\' ~/.xscreensaver 

Mas não estou conseguido, fica faltando a ultima contra barra
como mostrado abaixo
            qix -root                \n 

Alguém poderia ajudar?
Gente não tenho conhecimento e estou iniciando meus estudos em shell script linux, desculpe se o texto ficou
muito grande e desde ja, muito obrigado pela atenção

------------------------------------------------------------------------------
Boa tarde, escape a contra barra.
sed -i '6c\ \t\tTexto da linha 6 ALTERADO\t\t\\\n' arquivo
Ou
sed -i '6s/^.*$/\\\*\t\tTexto da linha 6 ALTERADO\t\t\\\*\n/'
Altera o conteúdo da linha especificada, para:
\* Texto da linha 6 ALTERADO \*




______________________________________________________________________
Importante:
Se te ajudei, retribua.....
É simples, só marcar o tópico como resolvido e escolher a MELHOR RESPOSTA.

----------------------------------------------------------------------------------------------------------------
Att.: Marcelo Oliver
______________________________________________________________________



4. Re: Dificuldade com o comando sed [RESOLVIDO]

Leomar de Oliveira
leoCCB

(usa Slackware)

Enviado em 15/05/2022 - 20:07h


MarcoC escreveu:

Ola.

Pessoal estou tentando fazer um script para editar o arquivo

".xscreensaver" e incluir uma linha, por exemplo:

            qix -root                \n\ 


como mostrado acima, com espaços etc, tentei com o comando abaixo

sudo sed -i '53c\            qix -root                \n\' ~/.xscreensaver 


Mas não estou conseguido, fica faltando a ultima contra barra

como mostrado abaixo

            qix -root                \n 


Alguem poderia ajudar?

Gente não tenho conhecimento e estou iniciando meus estudos em shell script linux, desculpe se o texto ficou

muito grande e desde ja, muito obrigado pela atenção

já tentou duas contrabarras depois do n? Assim "n\\" como a contrabarra é carater de escape, ela não aparece... alias, \n deveria ser "nova linha" e não deveria aparecer o \n, mas sim funcionar como enter, e o \t como tab, por exemplo. Talvez protegendo com aspas ou aspas duplas apareça o texto literal "\n" ou '\t'...



5. Re: Dificuldade com o comando sed [RESOLVIDO]

Marco Capella
MarcoC

(usa Outra)

Enviado em 16/05/2022 - 16:32h


Muito obrigado a todos pela atenção e ajuda.

renato_pacheco valeu, funcionou de primeira.

Muito obrigado.