vystup: pouze text odpovidajici regularnimu vyrazu

Michal Hajek hajek na nspuh.cz
Úterý Červen 11 12:34:36 CEST 2002


Ivo Kocvara wrote:
> Michal Hajek wrote:
> 
>>Ivo Kocvara wrote:
>>
>>>Michal Hajek wrote:
>>>
>>>
>>>>Zdar,
>>>>
>>>>kolega se s tim trapi a mne taky nic nenapada... Kterak z textu
>>>>vypsat jen to, co odpovida regularnimu vyrazu ? Zda se mi to
>>>>tak primitivni zadani a prece na to nemuzeme prijit :-( Asi
>>>>nam neco zasadniho uniklo :-)
>>>
>>>
>>>perl -n -e 'print "$1\n" if /(reg.vyraz)/' <soubor.txt
>>>
>>>Jestli vam nevadi perl :-)
>>>
>>
>>Perl mi nevadi, ale tohle vypise jen prvni vyskyt toho vyrazu
>>na radku.. nebo delam neco blbe ?
>>
>> >echo "A1 A2 A3" | perl -n -e 'print "$1\n" if /([A-Z]+[A-Z]*[0-9]+)/'
>>A1
>> >
> 
> 
> To v zadani nebylo! :-) Ale nevadi, mala uprava a je to:
> 
Asi jsem to nerekl vyslovne, ale myslim, ze to ze zadani
vyplyvalo.. to je jedno, diky za pomoc, zkusim, jak to pujde
s temi mailovymi adresami :-)
Jo - pokud bych chtel ten regul. vyraz jako parametr pro perl
(pripadne promennou prostredi), jak na to ? Samozrejme
jsem zkousel
REG=vyraz
ale perl '....($REG)....' ani perl '... $ENV{'REG'}' (to jsem videl
nekde na netu) samozrejme nefunguje :-)

Diky,
		Michal

PS: ze bych se na stara kolena naucil Perl ? :-) Zatim jsem vystacil
     s ksh, sed, grep, awk :-)


> bash$ echo "A1 A2 A3" | perl -n -e 'while (/([A-Z]+[A-Z]*[0-9]+)/g) {print
> "$1\n"}'
> A1
> A2
> A3
> 



-- 
--------------------------------------------------------------
Michal Hajek                   mailto:hajek na nspuh.cz
Sprava NIS                       http://www.nspuh.cz
NsP Uherske Hradiste          phone : voice +420 0632 529 204
Purkynova 365                         fax   +420 0632 551 014
686 68 Uherske Hradiste  Czech Republic     ICQ UIN: 14290832
--------------------------------------------------------------



Další informace o konferenci Linux