shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Re: Adicionar uma linha abaixo de outra, apenas de um


From: Ultimo de Miranda
Subject: Re: [shell-script] Re: Adicionar uma linha abaixo de outra, apenas de um bloco de texto
Date: Mon, 07 Nov 2016 11:38:30 +0000
User-agent: Tine 2.0 Email Client (version ExpressoV3 Kristina - kristina.20140410.02)

[miranda@guitar ~]$ cat texto.txt
config wifi-iface
        option device 'radio0'
        option mode 'ap'
        option iapp_interface 'company'
        option ssid 'wifi'
        option network 'wan'
        option encryption 'psk2'
        option key '123:098'
        option macfilter 'deny'
        list maclist '0C:79:18:FF:88:BF'


config wifi-iface
        option device 'radio1'
        option mode 'ap'
        option iapp_interface 'company2'
        option ssid 'wifi2'
        option network 'wan2'
        option encryption 'psk2'
        option key '123:098'
        option macfilter 'deny'
        list maclist '0C:7D:18:4F:99:7F'

[miranda@guitar ~]$

[miranda@guitar ~]$ cat cmd.awk
BEGIN { radio0=0}
{
  if ( $0 ~ /option device/ ){
   if ( $3 == "'radio0'" )  {radio0=1}
   else { radio0=0 }
  }
  print;
  if ( radio0 == 1 ) {
  if ( $0 ~ /maclist/ ) { printf("%clist maclist '0B:7D:18:4F:99:7A'\n",9)  }
  }
}


[miranda@guitar ~]$ awk -f cmd.awk texto.txt
config wifi-iface
        option device 'radio0'
        option mode 'ap'
        option iapp_interface 'company'
        option ssid 'wifi'
        option network 'wan'
        option encryption 'psk2'
        option key '123:098'
        option macfilter 'deny'
        list maclist '0C:79:18:FF:88:BF'
        list maclist '0B:7D:18:4F:99:7A'


config wifi-iface
        option device 'radio1'
        option mode 'ap'
        option iapp_interface 'company2'
        option ssid 'wifi2'
        option network 'wan2'
        option encryption 'psk2'
        option key '123:098'
        option macfilter 'deny'
        list maclist '0C:7D:18:4F:99:7F'

[miranda@guitar ~]$


Em 06/11/2016 20:55:56, address@hidden [shell-script] escreveu:
 

Antes de tudo agradeço a todos pelas respostas.


Bom só para esclarecer melhor a minha demanda, vou tentar explicar da forma mais simples possível.

### BLOCO DE TEXTO 1 ### <-- Essa linha não existe no arquivo original, ela server apenas para ilustra a explicação dos blocos de texto no arquivo de configuração.

config wifi-iface
        option device 'radio0' <-- Parâmetro que será utilizado como referência para a linha adicionada abaixo.
        option mode 'ap'
        option iapp_interface 'company'
        option ssid 'wifi'
        option network 'wan'
        option encryption 'psk2'
        option key '123:098'
        option macfilter 'deny'
        list maclist '0C:79:18:FF:88:BF'
        list maclist '0B:7D:18:4F:99:7A' <-- Essa linha somente será adicionada no bloco de texto 1 seguindo de acordo com o parâmetro selecionado, que no caso do exemplo é o option device 'radio0'.


### FIM DO BLOCO DE TEXTO 1 ###

### BLOCO DE TEXTO 2 ###

config wifi-iface
        option device 'radio1'
        option mode 'ap'
        option iapp_interface 'company2'
        option ssid 'wifi2'
        option network 'wan2'
        option encryption 'psk2'
        option key '123:098'
        option macfilter 'deny'
        list maclist '0C:7D:18:4F:99:7F'

### FIM DO BLOCO DE TEXTO 2 ###

Ou seja, quando eu precisa adicionar a linha "list maclist 'MAC'", eu só posso inserir no bloco de texto indicado pelo parâmetro "option device 'radio0'", que no caso, será no bloco de texto 1 e não no bloco de texto 2.

Espero que tenha sido claro.
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]