Editando arquivos e usando variáveis no sed

Publicado por Carlos Affonso Henriques. em 25/06/2007

[ Hits: 10.225 ]

 


Editando arquivos e usando variáveis no sed



O sed é um editor de textos integrado no shell, extremamente poderoso e utilíssimo quando se deseja alterar arquivos de forma automatizada através de scripts.

Aqui veremos como trabalhar com varáveis no sed, coisa que apanhei um pouco dada a sua sintaxe pouco amigável.

Estou construindo um sistema de gateway autenticado totalmente em shell e CGI e um dos scripts de adição de usuários faz exatamente inserir novas entradas ao /etc/dhcpd.conf, vou citar o trecho do código para ilustrar a dica.

Observem:

# Gera o /etc/dhcpd.conf com o novo usuário cadastrado
sed -e ''$(wc -l /etc/dhcpd.conf | cut -f1 -d" ")' i\' -e "host $nome {hardware ethernet $mac;option subnet-mask 255.255.255.254;fixed-address $ipaddr;}" /etc/dhcpd.conf > /tmp/dhcpd.conf.tmp

cp /tmp/dhcpd.conf.tmp /etc/dhcpd.conf
sudo /bin/killall -9 dhcpd
sleep 2
sudo /usr/sbin/dhcpd eth0

A opção -e insere uma linha antes da linha especificada, que neste caso foi obtida através do comando:

'$(wc -l /etc/dhcpd.conf | cut -f1 -d" ")'

Que conta todas as linhas do arquivo /etc/dhcpd.conf.

Mais detalhes sobre a construção do /etc/dhcpd.conf pode ser vista em minha outra dica aqui mesmo em:
Bom trabalho!

Outras dicas deste autor

Slax como USB live

Proxy ARP: Abrindo um servidor da rede interna para a internet com a ferramenta ip

Sincronizando relógios de hardware e de sistema

Alterando o MAC address de sua placa de rede com o ifconfig

Conhecendo o test

Leitura recomendada

[RESOLVIDO] Erro: "/usr/lib/cups/filter/pdftoraster-poppler failed" (Cups x UNN 11.04)

Anki: Remover Tags de Estilo HTML de Todas as Cartas

Usando DVDs do Debian no Kurumin

Corrigindo bug de data no comando radwho (FreeRADIUS)

Melhorar a exibição das fontes na GUI

  

Comentários
[1] Comentário enviado por Estival em 19/09/2008 - 16:23h

OH. amigo ajuda nos nesse problema aqui:

http://www.vivaolinux.com.br/topico/Sed-Awk-ER-Manipulacao-de-Textos-Strings/Usando-sed-para-inserir

Obrigado



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts