Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

1. Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

Lucas Peregrino
Lucas Peregrino

(usa Debian)

Enviado em 31/07/2017 - 10:14h

Bom dia estou com duas situações que gostaria de pedir uma ajuda que não estou sabendo resolver estou montar uns script automatizado com isso antes mudava tudo na mão agora com a forma de conseguir editar do arquivo estou batendo nesses 2 erros.

1 = sed -i 18's/#HostKey /etc/ssh/ssh_host_rsa_key/HostKey /etc/ssh/ssh_host_rsa_key/' /etc/ssh/sshd_config

2 = PORTA=3367

sed -i 13's/#Port 22/Port $PORTA/' /etc/ssh/sshd_config;





  


2. MELHOR RESPOSTA

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 31/07/2017 - 13:35h

Lucas Peregrino escreveu:

Bem uma ajuda voce ja me deu em troca / por | com isso resolvi um problema esta ok contudo peso desculpa não consigo escreve como penso pois sei acaba piorando minha situação.

o segundo problema que não consigo fazer o operador funcionar

PORTA=3378 <= Aqui digito a porta que quero colocar

sed -i 's|#Port 22|$PORTA|' /etc/ssh/sshd_config;

^
ll
seria a porta digitada 3378

Mas não funciona pois esta dentro ' ' isso quero tira como duvida como colocar operado funcionado dentro da ' ' pois quando abro o arquivo ele coloca la a palavra $PORTA e não o numero digitado.


Já tinha dado a dica, velho! Use aspas "duplas" no caso de variáveis.
sed -i "s|#Port 22|$PORTA|" /etc/ssh/sshd_config 


3. Re: Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 31/07/2017 - 11:20h

Velho, tá muito confuso a sua descrição do problema...

Mas é o seguinte, quando vc for usar o sed e o "texto" tiver barra / então use outro separador para o sed, por exemplo o pipe "|", pode ser qualquer coisa na verdade:

sed 's|/local/qualquer|/outro/caminho|'

Outra, se vai usar variáveis a mesma regra acima deve ser atendida, se dentro da variável contém / use outro separador para o sed e coloque tudo com aspas duplas:

sed "s|qualquercoisa|$var|"

Obs.: Sempre que for fazer edição direta com a opção -i, faça um backup, basta colocar a extensão jundo do i, assim "-i.bkp".




4. Re: Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/07/2017 - 12:16h

Lucas Peregrino escreveu:

Bom dia estou com duas situações que gostaria de pedir uma ajuda que não estou sabendo resolver estou montar uns script automatizado com isso antes mudava tudo na mão agora com a forma de conseguir editar do arquivo estou batendo nesses 2 erros.

1 = sed -i 18's/#HostKey /etc/ssh/ssh_host_rsa_key/HostKey /etc/ssh/ssh_host_rsa_key/' /etc/ssh/sshd_config

2 = PORTA=3367

sed -i 13's/#Port 22/Port $PORTA/' /etc/ssh/sshd_config;




velho ... explica o que vc quer fazer pq seu sed está confuso pra k7 !!!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Re: Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

Lucas Peregrino
Lucas Peregrino

(usa Debian)

Enviado em 31/07/2017 - 13:31h

Bem uma ajuda voce ja me deu em troca / por | com isso resolvi um problema esta ok contudo peso desculpa não consigo escreve como penso pois sei acaba piorando minha situação.

o segundo problema que não consigo fazer o operador funcionar

PORTA=3378 <= Aqui digito a porta que quero colocar

sed -i 's|#Port 22|$PORTA|' /etc/ssh/sshd_config;

^
ll
seria a porta digitada 3378

Mas não funciona pois esta dentro ' ' isso quero tira como duvida como colocar operado funcionado dentro da ' ' pois quando abro o arquivo ele coloca la a palavra $PORTA e não o numero digitado.


6. Re: Duvida em com uso e forma de execução do sed -i

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/07/2017 - 13:40h

Lucas Peregrino escreveu:

Bem uma ajuda voce ja me deu em troca / por | com isso resolvi um problema esta ok contudo peso desculpa não consigo escreve como penso pois sei acaba piorando minha situação.

o segundo problema que não consigo fazer o operador funcionar

PORTA=3378 <= Aqui digito a porta que quero colocar

sed -i 's|#Port 22|$PORTA|' /etc/ssh/sshd_config;

^
ll
seria a porta digitada 3378

Mas não funciona pois esta dentro ' ' isso quero tira como duvida como colocar operado funcionado dentro da ' ' pois quando abro o arquivo ele coloca la a palavra $PORTA e não o numero digitado.


vc quer trocar a string toda ???
ex: trocar "#Port 22" pelo valor digitado
read PORTA; sed -i "s/#Port\ 22/$PORTA/" /etc/ssh/sshd_config 


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



7. Re: Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

Lucas Peregrino
Lucas Peregrino

(usa Debian)

Enviado em 31/07/2017 - 14:10h

Mais uma vez muitíssimo obrigado agradeço a todos a ajuda ai.


8. Re: Duvida em com uso e forma de execução do sed -i [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 31/07/2017 - 18:26h

Lucas Peregrino escreveu:

Mais uma vez muitíssimo obrigado agradeço a todos a ajuda ai.


Marque a melhor resposta, pls!!!! ;)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts