Como representar uma quebra de linha com o comando 'sed'?

1. Como representar uma quebra de linha com o comando 'sed'?

Mateus Agausto Anonimo
mateusagausto

(usa Outra)

Enviado em 15/11/2021 - 14:13h

Preciso substituir um código (um texto) por outro em vários arquivos. Para tanto, recorro ao comando sed, no terminal linux, que funciona da seguinte maneira:

sed -i 's/(substituir o quê)/pelo quê/' (diretório dos arquivos a serem modficados)


Porém, não sei como representar uma quebra de linha (Enter). Por exemplo, para trocar o seguinte código:

<! ---- ESPAÇO 1 ->

<div style="19vw"></div>


Pelo seguinte:

<! ---- ESPAÇO 2 ->

<div style="9vw"></div>


Como eu mostro esta quebra de linha? Tentei com /n, do seguinte modo, mas não funcionou:

sed -i 's/<! ---- ESPAÇO 1  ->/n<div style="19vw"><\/div>/<! ---- ESPAÇO 2 ->/n<div style="9vw"></div>/'  


Como eu faço?



  


2. Re: Como representar uma quebra de linha com o comando 'sed'?

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 15/11/2021 - 15:12h


use a barra invertida + n "\n"
echo "mauriciodez" | sed 's/dez/\ndez/' 



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

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

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




3. Re: Como representar uma quebra de linha com o comando 'sed'?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/11/2021 - 23:48h

Boa noite Mateus, segue ajuda:
cat tst.html
<html>
<head>
<title>Testes</title>
</head>
<body>
<div id='main'>
<!--ESPAÇO1-->

<div style="19vw"><h1>DIV-01</h1></div>
</body>
</html>


sed -r '/<!--ESPAÇO1-->/,/<div.*$/{s/ÇO1/ÇO2/;s/19/9/;}' tst.html 

Como funciona:
Casa o trecho onde quer fazer as alterações:
'/<!--ESPAÇO1-->/,/<div.*$/
Altera:
{s/ÇO1/ÇO2/;s/19/9/;}

<html>
<head>
<title>Testes</title>
</head>
<body>
<div id='main'>
<!--ESPAÇO2-->

<div style="9vw"><h1>DIV-01</h1></div>
</body>
</html>

Obs.: Se te ajudei, me ajude....
É simples, Marque o tópico como Resolvido, e ,
Escolha a "Melhor Resposta"....

Bônus:
<! ---- ESPAÇO 1 -> /* Erro*/
<!-- ESPAÇO 1 --> */Correto/*
---------------------------------------
<div style="9vw">
Tem erro...
Seria:
font-size:19vw;


______________________________________________________________________
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