Substituir apenas uma linha - sed [RESOLVIDO]

1. Substituir apenas uma linha - sed [RESOLVIDO]

Uiliam de Mello
foschiera

(usa Linux Mint)

Enviado em 04/05/2015 - 17:33h

Prezados, boa tarde.
Estou tentando criar um "script" para substituir os dados de uma determinada linha de um arquivo de texto, porém, como aparece mais de uma ocorrência do termo no arquivo, ele acaba por substituir todos. Exemplo do arquivo (de nome teste.txt):

Maximum Connections: 200
Maximum Upload Slots: -1
Maximum Download Speed (KiB/s): 1000 # Velocidade
Maximum Upload Speed (KiB/s):100
Maximum Half-Open Connections:30

Per torrent settings
Maximum Connections: 200
Maximum Upload Slots: -1
Maximum Download Speed (KiB/s): 1000

Quero realizar a troca somente do valor 1000 (por outro valor qualquer, 80 por exemplo) somente na linha que comentei com # Velocidade. Estou usando o comando da seguinte maneira:

cat teste.txt |grep "Velocidade" | sed -i 's/1000/80/g' teste.txt

Porém ele acaba substituindo todas as ocorrências "1000" do arquivo, e não somente a linha comentada.
Alguém pode me apoiar quanto a tratativa desta questão? Tentei procurar a substituição por linha, mas não me "achei" nas explicações google afora...

Desde já agradeço a atenção prestada.


  


2. Re: Substituir apenas uma linha - sed [RESOLVIDO]

Uiliam de Mello
foschiera

(usa Linux Mint)

Enviado em 04/05/2015 - 17:47h

Buenas,

Consegui utilizando sed -i '3d' teste.txt && sed -i '3i Maximum Download Speed (KiB/s): 80' teste.txt

Grato








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts