Como eu escrevo código perl para o exemplo a seguir? [fechadas]

0

Eu tenho conteúdo de arquivo como este:

aaa accounting exec ...
aaa accounting exec ...
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting network ..
aaa accounting connection ..
aaa accounting system ..
!
aaa accounting exec default
 action-type start-only
 group something+
!
aaa accounting exec default stop-only group tacacs+

A saída deve ser assim:

aaa accounting exec ..
aaa accounting exec ..
aaa accounting exec default
 action-type start-only
 group something+
!
 aaa accounting exec default stop-only group tacacs+

Eu quero obter a saída entre seguir dois padrões:

Start Pattern: /aaa accounting exec .+/ 
End Pattern: /!/

Qual será o código perl mais fácil de produzir a saída acima?

    
por snoop 29.12.2014 / 14:54

1 resposta

2

A resposta será:

perl -ne ' if($p==1){if(/^ /){ print; next;} elsif(/^!/){print;}$p=0} 
if(/aaa accounting exec .+/){print;$p=1}' text.txt

Onde text.txt é o arquivo que contém o texto acima mencionado na pergunta.

    
por snoop 29.12.2014 / 16:48