Fala Flavio, primeiro procuro o serial e somo 1 nele: $ Ser=$[$(sed '/serial/s/ .*//' Arq) + 1]
Isto é, criei uma variável Ser a partir da linha que achasse a palavraserial desprezando tudo após o primeiro espaço em branco e somando 1 a este número. Em seguida fazer: $ sed -i.veio "/serial/s/^[0-9]+/$Ser/" Arq A final da execução desta linha, o arquivo Arq estará alterado e o Arq.veio terá o conteúdo do Arq véio. ;) -- Abração, Julio *Cursos de Shell e Zenity nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - No RJ brevemente; - Turmas fechadas em outras cidades ligue (21) 8112-9988* 2009/3/18 Felipe <[email protected]> > Boa tarde Pessoal, > > Estou me enrolando aqui para fazer um script que acrescente +1 ao > último dígito da linha SERIAL de cada arquivo de zona de um servidor DNS. > > Tenho um diretório com vários arquivos de zona, e dentro dele temos > o SERIAL, cada um mais ou menos com o seguinte conteúdo: > > $ttl 300 > @ IN SOA dominio.com.br. admin.dominio.com.br. ( > 2005122002 ; serial ====> ESTA LINHA > PRECISO ACRESCENTAR +1 AO NÚMERO, FICANDO COM 2005122003. > 300 ; refresh every 10 hours > 300 ; retry after 1 hour > 300 ; expire after 1000 hours > 300 ; default ttl is 1 semana > ) > ; Define nameservers e mail server > > IN NS ns1 > IN NS ns2 > domínio.com.br <http://xn--domnio-5va.com.br>. IN A 200.243.178.153 > @ IN MX 10 mail > > www IN A 202.133.234.137 > ns IN A 203.223.157.130 > mail IN A 201.133.234.152 > ftp IN A 202.133.234.137 > pop IN A 203.133.234.135 > smtp IN A 202.133.234.135 > pop3 IN A 203.133.234.135 > ns1 IN A 201.133.234.137 > ns2 IN A 202.223.157.132 > > Já consegui alterar a linha mail de cada um, substituindo com sed, > mas ainda não consegui descobrir uma forma de acrescentar este número. > > Não sei se fui bem claro no que preciso, mas se puderem me ajudar :-) > > Abraços. > > > [As partes desta mensagem que não continham texto foram removidas]
