[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Localizar e substituir



Em Seg, 2006-03-06 às 10:25 -0300, Gentil de Bortoli Júnior escreveu:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Eder Gobbi wrote:
> >>> Tem algum comando para localizar e substituir textos em arquivos?
> 
> >> sed -i 's/texto1/texto2/g' arquivo
> 
> > E como eu faria para substituir toda uma linha do arquivo?
> 
> Explique melhor o problema. Se você quer substituir uma linha inteira,
> informe a linha inteira no lugar de "texto1".
> 
> Exemplo:
> 
> sed 's/Quero trocar tudo isso/Por isso/g'
> 
> []s
> 
> - --
> Gentil de Bortoli Júnior
> Chave GPG: http://gentil.bortoli.com.br/gpg
> 
> "There Is No Gene For The Human Spirit"
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2 (GNU/Linux)
> 
> iD8DBQFEDDg2R/xCJbtXupkRAgxeAJ9iGyzgLkfx/bE4zWm+JmUC74yHagCePQTR
> AOCll30N2o/6ivTxJhdu3ys=
> =VLBH
> -----END PGP SIGNATURE-----
> 
> 

Assim

Criei scripts para um cliente incluir ips, macs, e valor de banda para
seus clientes de wirelles. Para alterar a banda de um cliente, eu
poderia fazer assim:

sed -i 's/150Kbit/${vardown}Kbit/g' /etc/shaper/cbq-${varip}-in

Funciona, mas e se ele quiser alterar novamente?
Olha o script completo, é ridículo, mas foi o que conseguí fazer no
braço.. :c)

#!/bin/bash
# Administração de Usuários
Principal() {
        echo
        echo
        echo "ADMINISTRACAO DE USUARIOS WIRELESS"
        echo "----------------------------------"
        echo
        echo "Opcoes:"
        echo
        echo "1 - Adicionar IP"
        echo "2 - Adicionar MAC"
        echo "3 - Controle de Banda"
        echo "4 - Aplicar alteracoes"
        echo "5 - Sair"
        echo "Escolha a opcao desejada" ; read opcao

case $opcao in
        1) IP ;;
        2) MAC ;;
        3) CB ;;
        4) APLY ;;
        5) exit ;;
        *) "Opcao Errada!" ; echo ; Principal ;;
esac
}
IP() {
  echo "Digite o novo IP:" ; read varip
  echo ${varip} >> ip-list
  cp /etc/shaper/cbq-192.168.100.8-in /etc/shaper/cbq-${varip}-in
  cp /etc/shaper/cbq-192.168.100.8-out /etc/shaper/cbq-${varip}-out
  sed -i s/192.168.100.8/${varip}/g /etc/shaper/cbq-${varip}-in
  sed -i s/192.168.100.8/${varip}/g /etc/shaper/cbq-${varip}-out
Principal
}
MAC() {
  echo "Digite o MAC do dispositivo:" ; read varmac
  echo ${varmac} >>  /etc/mac-list
 Principal
}
CB() {
  echo "IP a ser alterado:" ; read varip
  echo "Taxa de download:" ; read txdw
  echo "Taxa de upload:" ; read txul
  sed -i s/RATE=150Kbit/RATE=${txdw}Kbit/g /etc/shaper/cbq-${varip}-in
  sed -i s/RATE=150Kbit/RATE=${txul}Kbit/g /etc/shaper/cbq-${varip}-out
 Principal
}
APLY() {
   sudo /etc/init.d/nat-ini
   sudo /etc/init.d/shaper restart
   echo "Alterações aplicadas com sucesso!"
Principal
}
Principal

-- 
...
[]'s

        _                    Eder Gobbi - "Woody"
       ^-)                    MSN - edergobbi at gmail dot com
        ( . . _                  GoogleTalk - gobbix at gmail dot com
          \ `\\                   Jabber - gobbix at jabber dot com
             |>                       Linux User - #385577 - http://counter.li.org
 ______/|______                 UIN - 161655702                   
       
"Livre? É... Eu sou!!!"

"Se você pensa que pode, ou se pensa que não pode, de qualquer forma
você está certo!" (Henry Ford)



Reply to: