The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



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
Expressões Regulares HELP - PERL maxmave UNIX para Dummies Perguntas & Respostas 1 06-04-2008 01:15
expressões regulares jack1981 Programação Shell Script e 4 07-12-2006 04:10
Expressões Regulares sandeep_hi Programação Shell Script e 6 06-12-2006 03:12
Perl expressões regulares ... DrRo183 Programação Shell Script e 1 04-26-2006 10:28
As expressões regulares em sed mfreemantle UNIX para Dummies Perguntas & Respostas 3 02-11-2002 09:34

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-04-2008
maxmave maxmave is offline
Usuário
  
 

Join Date: Apr 2008
Lugares: 21
Expressões Regulares HELP - PERL

Olá,

Código:
$line=USING (FILE '/TEST1/FILENAME'5000)
Quero reterive o valor entre "e) que é de 5000 aqui.

Eu testei as seguintes expressões ...

Tipo 1: $ var1 \u003d `sed -e 's / .* \' / / '-e' s \ ).*$/' $ linha »;
Tipo 2: $ var1 \u003d `echo $ linha | awk-F" \ ' "' (print $ 2) '| awk-F" \ \) "' (print $ 1) '`;
Tipo 3: $ var1 \u003d `echo $ linha | sed 's / .* \' / / '| sed 's / \ ).*$//'`;
Tipo 4: $ var1 \u003d `echo $ linha | sed 's / .* \' / / '| sed 's / \ )$//'`;
Tipo 5: $ var1 \u003d `echo $ linha | sed 's / .* Arquivo / /' | sed 's / Encerramento .*$//'`;
Tipo 6: $ var1 \u003d `echo $ linha | sed 's / "/ / g' | sed 's / \) / / g' | awk-F "\ '"' (print $ 2) ' `;
Tipo 7: $ var1 \u003d `sed 's / .*' \ (.* \ )).*/ \ 1 / '$ linha »;

mas nada está a trabalhar fora, estou sempre recebendo um erro dizendo que
Código:
sh: -c: line 0: syntax error near unexpected token `('
Alguma sugestão será útil

Obrigado

Rahul

Última edição por Yogesh Sawant; em 06/05/2008 04:56.. Motivo: adicionado código tags
  #2 (permalink)  
Old 06-04-2008
in2nix4life's Avatar
in2nix4life in2nix4life is offline
Usuário
  
 

Join Date: Oct 2007
Localização: Costa Leste
Lugares: 58
Hope this helps:

echo $ linha | sed -e 's /[()]// g' | awk-F " '"' (print $ 3) '
5000
  #3 (permalink)  
Old 06-04-2008
shamrock shamrock is offline Forum Advisor  
Usuário
  
 

Join Date: Oct 2007
Localização: E.U.A.
Lugares: 753
Código:
line="USING (FILE '/TEST1/FILENAME'5000)"

echo $line | awk -F\' '{split($3, a, /)/);print a[1]}'
5000
  #4 (permalink)  
Old 06-05-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Ou, finalmente, com Perl:

Código:
if ($line =~ m/'(\d+)\)/) { $Var1=$1 }
A razão pela qual você estava recebendo erro de sintaxe é que em backticks Perl serão submetidos a documentação que chama de "duplo-quotish" expansão. Basicamente, isto significa que se você quiser uma barra de ser passado para o shell, você vai precisar para ter o dobro, porque Perl já analisa um nível de barras. Além disso, o valor de $ linha está sendo interpolados por Perl, Para o reservatório vê o valor literal echo USING (FILE '/ TEST1/FILENAME'5000) sem citar, e queixa-se a abertura parêntese. Você pode resolver isso com a devida citação, mas, naturalmente, para a seqüência manipulações triviais, Perl em si é realmente muito mais adequadas do que o reservatório.
Closed Thread

Marcadores

Tags
regex, expressões regulares

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 09:09.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0