SED - Substituição

  • Substituição Básica
    • Simples
    • Global
    • Alvo
  • Substituição condicionada
    • Simplificado
    • Avançado
  • Bloco
    • Uso Avançado

O comando substituto: [s. ] muda todas as ocorrências da expressão regular para um novo valor.

Substituição Básica

Simples

1º jogo (cada linha) encontrado apenas

sed 's / la / LA /' file.txt

Global

Todas as ocorrências (cada linha) encontradas

sed 's / la / LA / g' file.txt

Alvo

Apenas a segunda ocorrência (cada linha) encontrada

 sed 's / la / LA / 2' file.txt 

Substituição condicionada

Simplificado

/ explanação / - Somente se a linha contiver "explicação"

 sed '/ awk / s / sed / SED /' file.txt 

Número de linha - Apenas linha sem "N"

 sed '18 s / sed / SED / 'file.txt 

/ Regex / - Só se houver correspondência com a expressão regular

 sed '/ ^ [] [Ss] ed / s / ed / ED / g' arquivo.txt 

Avançado

0, / regex / - Apenas o primeiro caso encontrado

 sed '0, / sed / s // SED /' file.txt 

Bloco

/ explain1 /, / explanation2 / - Apenas entre "explanação1 - explicação2"

 sed '/ start /, / End / s / ed / ED /' file.txt # Apenas o primeiro caso encontrado 

 sed '/ Start /, / End / s / ed / ED / g' file.txt # todo o caso 

8, 13 - Somente entre as linhas 8 a 13

 sed '8, 13 s / ed / ED / g' arquivo.txt 

Nós também podemos combinar razão e linha

 sed '8, / End / s / ed / ED / g' arquivo.txt sed '/ Iniciar /, 13 s / ed / ED / g' file.txt 

Ou com "regex"

 sed '/ Start /, $ s / ed / ED / g' file.txt # até o fim ($) sed '/ ^ [] [Ss] ed /, 13 s / ed / ED /' arquivo.txt 

Uso Avançado

Substituir qualquer texto entre 2 motivos, excluindo motivos

 sed '/ Start /, / End / {/ Start / b; / End / b; s /.*/ SED - O Stream à ‰ Ditor /; } 'file.txt 
Artigo Anterior Próximo Artigo

Principais Dicas