![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| como mover o ponteiro arquivo para uma determinada linha em c | user_prady | Alto Nível de programação | 7 | 03-27-2008 12:32 |
| devolver a linha anterior | user_prady | Programação Shell Script e | 12 | 12-18-2007 07:37 |
| como ir na linha anterior vim | useless79 | UNIX & avançada para usuários experientes | 2 | 09-16-2007 08:10 |
| pesquisa e obter linha anterior no arquivo | paulsew | Programação Shell Script e | 2 | 02-23-2007 08:04 |
| Véspera da data em Perl? | rajus19 | Programação Shell Script e | 4 | 07-18-2006 12:40 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
Perl como mover o ponteiro para linha anterior em um arquivo txt?
Eu tenho um arquivo de texto que tem blocos de texto. Cada bloco começa com # # # e termina com End_ # # #.
Eu escrevi um perl script para procurar uma seqüência de linha 2 (ignorar qualquer linha começa com # # #) de cada bloco se corresponder, preciso imprimir todo esse bloco. De acordo com a entrada no arquivo abaixo, ele irá imprimir blocos # 02, # 04, # 05. Aqui está a minha pergunta, não tenho problemas correspondentes a SEARCH_STR, mas, depois de igualar, como faço para voltar anteriores linhas? # 02, por exemplo, em bloco, pareados na linha 3, mas eu preciso imprimir linhas 1 e 2. Agradecemos antecipadamente por qualquer ajuda! MEU SCRIPT: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d #! / 46020/local/bin /perl -w # if ($ # ARGV! \u003d 0) ( print "Você deve fornecer um critério de pesquisa. \ n"; saída; ) my $ query \u003d $ ARGV [0]; my $ input \u003d "/ mypath / inputFILE.txt"; my $ linha; my $ tag \u003d 0; my @ resultado \u003d (); open (FILE, "<$ INPUT") ou morrer "Não foi possível abrir" $ INPUT "file: $!"; while ($ linha \u003d <FILE>) ( next if ($ linha \u003d ~ / ^ # [0-9] [0-9] .* - / | | $ linha \u003d ~ / ^ \ s *$/); if ($ linha \u003d ~ / $ query / i) ( $ tag \u003d 1; ) if ($ linha \u003d ~ / ^ End_ # / & & $ tag \u003d\u003d 1) ( push (@ resultado, $ linha) if ($ tag \u003d\u003d 1); $ tag \u003d 0; ) push (@ resultado, $ linha) if ($ tag \u003d\u003d 1); ) close (FILE); print "@ resultados \ n"; saída; INPUTFILE: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d # 01 - bloco começar linha aqui algum texto aqui mais texto aqui mais linhas mais linhas mais linhas End_ # 01 # 02 - bloco começar linha aqui algum texto aqui esta linha contém a SEARCH_STR e algo mais linhas mais linhas End_ # 02 # 03 - bloco começar linha aqui algum texto aqui mais texto aqui mais linhas mais linhas mais linhas End_ # 03 # 04 - bloco começar linha aqui algum texto aqui mais linhas mais linhas o SEARCH_STR está aqui e alguma coisa algum texto aqui mais linhas mais linhas mais linhas End_ # 04 # 05 - bloco começar linha aqui algum texto aqui mais linhas o SEARCH_STR está aqui e alguma coisa mais linhas End_ # 05 # 06 - bloco começar linha aqui algum texto aqui mais texto aqui mais linhas mais linhas mais linhas End_ # 06 |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|