SED - combinando o conteúdo de dois arquivos
Dica publicada em Shell Script / Expressões Regulares
SED - combinando o conteúdo de dois arquivos
Eu daria o título à dica de concatenar dois arquivos com o sed, mas ela vai além disso. Veremos como fazer para, em determinado padrão/pattern, adicionar o conteúdo de um arquivo dentro de outro.
Um exemplo prático vale mais que mil palavras, vamos lá!
Temos dois arquivos, um "artigo.txt" e um "codigo.py" com os respectivos conteúdos:
print("Olá, mundo!")
O que quero é adicionar o conteúdo de "codigo.py" logo abaixo da linha que indica onde virá o código desejado.
Sem mais delongas:
sed '/Abaixo temos o código/r codigo.py' artigo.txt
E como resultado teremos:
Neste artigo veremos como criar um "olá, mundo" em Python. Abaixo temos o código:
print("Olá, mundo!")
Se gostou do que viu, deixa um joinha!!!
Explicando o comando:
Um exemplo prático vale mais que mil palavras, vamos lá!
Temos dois arquivos, um "artigo.txt" e um "codigo.py" com os respectivos conteúdos:
Neste artigo veremos como criar um "olá, mundo" em Python. Abaixo temos o código:
Se gostou do que viu, deixa um joinha!!!
Se gostou do que viu, deixa um joinha!!!
print("Olá, mundo!")
O que quero é adicionar o conteúdo de "codigo.py" logo abaixo da linha que indica onde virá o código desejado.
Sem mais delongas:
sed '/Abaixo temos o código/r codigo.py' artigo.txt
E como resultado teremos:
Neste artigo veremos como criar um "olá, mundo" em Python. Abaixo temos o código:
print("Olá, mundo!")
Se gostou do que viu, deixa um joinha!!!
Explicando o comando:
- /Abaixo temos o código/ = quando encontrar este padrão no texto...
- r codigo.py = leia (r de read) o arquivo codigo.py
__ ___ _ _
\ \ / (_)_ ____ _ ___ | | (_)_ __ _ ___ __
\ \ / /| \ \ / / _` | / _ \ | | | | '_ \| | | \ \/ /
\ V / | |\ V / (_| | | (_) | | |___| | | | | |_| |> <
\_/ |_| \_/ \__,_| \___/ |_____|_|_| |_|\__,_/_/\_\
Interessante. Muito bom.
___________________________________
Conhecimento não se Leva para o Túmulo.