Luca Villa schreef:
> I have a long text file like this:
>
> 324yellow
> 34house
> black
> 54532
> 15m21red56
> 44dfdsf8sfd23
>
> How can I obtain (Perl - Windows/commandline/singleline) the
> following?
>
> 1) only the numbers at the beginning before some alpha text, like
> this:
>
> 324
> 34
> 15
> 44
>
> 2) only the numbers within the alpha text, like this:
>
> 21
> 8
>
> 3) only the numbers at the end after some alpha text, like this:
>
> 56
> 23

perl -wnle 'print;/\d/ and /^(\d*)\D*((?:(?<=\D)\d*(?=\D))?)\D*(\d*)$/
and print "|$1|$2|$3|\n" or print ""' data.txt
324yellow
|324|||

34house
|34|||

black

54532
|54532|||

15m21red56
|15|21|56|

44dfdsf8sfd23
|44|8|23|

-- 
Affijn, Ruud

"Gewoon is een tijger."


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to