substituição de várias palavras num arquivo [RESOLVIDO]

1. substituição de várias palavras num arquivo [RESOLVIDO]

jorge
katzer

(usa Ubuntu)

Enviado em 29/02/2012 - 15:05h

tenho um arquivo com o seguinte conteudo:

--------
DADOS DA BIOS
SMBIOS Version: 2.5
Version: "0303"
Manufacturer: "Digitron"
Product: "Digitron"
Board Info: #2
Manufacturer: "PEGATRON"
Product: "IPM31"
Version: "1.01G"
Manufacturer: "Digitron"
Processor Info: #4
Socket: "Socket 775"
Manufacturer: "Intel"
Version: "Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz"

DADOS DA CPU
Model: 6.23.10 "Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz"

------------------------

desejo substituir as palavras Version: por Versão:, Product por Produto: e assim por diante.

como poderia ser feito isso? sei fazer com uma palavra somente (sed 's/Model:/Modelo:/' geral.txt) mas como seria para mais de uma palavra?
ou teria outra maneira melhor sem o uso do sed.


  


2. Re: substituição de várias palavras num arquivo [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 29/02/2012 - 15:57h

katzer escreveu:


desejo substituir as palavras Version: por Versão:, Product por Produto: e assim por diante.

como poderia ser feito isso? sei fazer com uma palavra somente (sed 's/Model:/Modelo:/' geral.txt) mas como seria para mais de uma palavra?
ou teria outra maneira melhor sem o uso do sed.


Um modo rápido é vc usar o sed mesmo. Em apenas um script vc pode usar o parâmetro -i em todos os 'sed' para que a substituição seja salva no próprio arquivo. Exemplo:

sed -i 's/Model:/Modelo:/' geral.txt
sed -i 's/Product:/Produto:/' geral.txt
sed -i ...
sed -i ...


3. solução possível

jorge
katzer

(usa Ubuntu)

Enviado em 29/02/2012 - 16:17h

Não sei se é a melhor mas funciona.

cat geral.txt | sed 's/Model:/Modelo:/g' | sed 's/Vendor:/Vendedor:/g' | sed 's/Device:/Dispositivo:/g' | sed 's/Manufacturer:/Fabricante:/g' | sed 's/Product:/Produto:/g' | sed 's/Version:/Versão:/g' | sed 's/Size:/Tamanho:/g' | sed 's/Processor Info:/Informações do Processador:/g' | sed 's/Board Info:/Placa Mãe:/g'


Não teria uma solução mais 'didática'?


4. Re: substituição de várias palavras num arquivo [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 29/02/2012 - 16:32h

Como não são muitas palavras vc pode usar desta forma com o comando -i, assim fica até mais organizado do que colocar um pipe (|) seguido do outro.

sed -i 's/Model:/Modelo:/' geral.txt
sed -i 's/Product:/Produto:/' geral.txt



5. Re: substituição de várias palavras num arquivo [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 29/02/2012 - 18:18h

Poderia também fazer como nesse exemplo:

$ sed -i -e 's/Version:/Versão:/g' -e 's/Product:/Produto:/g' -e 's/Vendor:/Vendedor:/g' arquivo.txt 







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts