Sed - Inserção de texto

Dezembro 2016





Introdução


Muitas vezes é muito útil poder inserir texto como cabeçalho de um ou diversos documentos, ou em uma parte bem precisa do texto (antes ou depois de tal ou tal linha ).

O editor de fluxo "sed" pode nos ajudar nesta tarefa e nós veremos como.

Sintaxe


Qualquer que seja o método (inserção, adição ou troca ), a sintaxe permanece a mesma, ou seja:
sed '{/motif/|/regexp/|n}{i|a|c}\<Texto à inserir >' arquivo

Adição de texto


Existem três maneiras de inserir texto em um documento :
  • A inserção antes (com o parâmetro "i" como inserção)
  • A adição depois (com o parâmetro "a" como depois )
  • A substituição (com o parâmetro "c" como mudança )

Inserir uma linha com "i"


A sintaxe é muito simples, basta designar a linha antes da qual deve ser inserida nossa nova linha, seja pelo seu número correspondente, seja por um motivo. No caso de um motivo uma linha será inserida antes de cada linha que comporta o dito motivo.

Exemplo :
  • Com numeração

sed "16i\Notas : A negação se obtém com um ponto de exclamação ! \n " arquivo.txt
  • Com motivo

sed "/Conclusão/i\Notas : A negação se obtém com um ponto de exclamação ! \n" arquivo.txt

Adicionar uma linha com "a"


A sintaxe continua sendo simples, basta designar a linha depois da qual deve ser inserida nossa nova linha, seja pelo seu número correspondente, seja por um motivo. No caso de um motivo uma linha será inserida depois de cada linha comportando o dito motivo.

Exemplo :
  • Com numeração

sed "8a \"ed\" é o editor de texto orientado linha. Ele é utilizado para criar, afixar \ 
, modificar ou ainda manipular os arquivos textos." fichier.txt
  • Com motivo

sed "/\"ed\"/a \"ed\" é um editor de texto orientado linha. Ele é utilizado para criar, afixar \ 
, modificar ou ainda manipular arquivos texto." arquivo.txt

trocar uma linha com "c"


A sintaxe fica sempre a mesma, basta designar a linha que deve ser substituída pela nossa nova linha, seja pelo seu número correspondente, seja por um motivo. Neste caso de um motivo cada linha que comporta o dito motivo será substituída pela nova linha.

Exemplo :
  • Com numeração


sed "/14/c Diversos parâmetros podem passa em fim de expressão, como por exemplo o parâmetro  \"g\" (para global), para uma substituição global de cada ocorrência " arquivo.txt
  • Com motivo

sed "/global/c Diversos parâmetros podem ser passados em fim de expressão, como por exemplo o parâmetro \"g\" (para global), para uma substituição global de cada ocorrência " arquivo.txt

Arquivo empregado para os exemplos : [no final deste artigo]

Artigo http://www.commentcamarche.net/faq/6616-sed-insertion-de-texte
original
publicado por Jipicy

Tradução feita por Ana Spadari

Veja também :
Este documento, intitulado « Sed - Inserção de texto  »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.