Limitando o alcance do SED por números de linha

Publicado por Fábio Berbert de Paula em 06/06/2020

[ Hits: 608 ]

Blog: https://youtube.com/c/cotidianohackeado

 


Limitando o alcance do SED por números de linha



Nessa dica veremos como limitar expressões do sed de acordo com números de linha do arquivo. Mostrando na prática ficará mais fácil de explicar...

Dado o seguinte arquivo "texto.txt":

1 Banana
2 Banana
3 Banana
4 Banana
5 Banana
6 Banana
7 Banana
8 Banana
9 Banana
10 Banana
11 Banana
12 Banana
13 Banana
14 Banana
15 Banana
16 Banana
17 Banana
18 Banana
19 Banana
20 Banana

Quero substituir a palavra "Banana" por "Maça", mas apenas entre as linhas 5 e 10:

sed '5,10 s/Banana/Maça/' texto.txt
1 Banana
2 Banana
3 Banana
4 Banana
5 Maça
6 Maça
7 Maça
8 Maça
9 Maça
10 Maça
11 Banana
12 Banana
13 Banana
14 Banana
15 Banana
16 Banana
17 Banana
18 Banana
19 Banana
20 Banana


Se eu quiser substituir "Banana" por "Laranja" da linha 11 até o final do arquivo, mas não sei qual o número da última linha:

sed '11,$ s/Banana/Laranja/' texto.txt
1 Banana
2 Banana
3 Banana
4 Banana
5 Banana
6 Banana
7 Banana
8 Banana
9 Banana
10 Banana
11 Laranja
12 Laranja
13 Laranja
14 Laranja
15 Laranja
16 Laranja
17 Laranja
18 Laranja
19 Laranja
20 Laranja


Também é possível combinar substituições e ranges de linhas, separando as expressões por ponto e vírgula:

sed '5,10 s/Banana/Maça/ ; 11,$ s/Banana/Laranja/' texto.txt
1 Banana
2 Banana
3 Banana
4 Banana
5 Maça
6 Maça
7 Maça
8 Maça
9 Maça
10 Maça
11 Laranja
12 Laranja
13 Laranja
14 Laranja
15 Laranja
16 Laranja
17 Laranja
18 Laranja
19 Laranja
20 Laranja


Até a próxima!

Outras dicas deste autor

Como encerrar um script Python (exit)

Migrando todos os pacotes DEB de uma instalação para outra

Como atualizar o navegador padrão no Debian

Steam no Debian 10 Buster

Como fazer o curl ignorar certificado SSL inválido

Leitura recomendada

SED - texto para maiúsculas, minúsculas, pascal case e camel case

Extraindo seu endereço IP com shell script (egrep + awk)

SED - combinando o conteúdo de dois arquivos

Criando usuários a partir de uma lista

Screen (janelas) no modo shell?

  

Comentários
[1] Comentário enviado por mauricio123 em 06/06/2020 - 11:13h


Muito Bom.

___________________________________
Conhecimento não se Leva para o Túmulo.

[2] Comentário enviado por eduardo em 08/06/2020 - 17:42h

Ótima dica!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts