vystup: pouze text odpovidajici regularnimu vyrazu
Michal Kubecek
mike na oksoftware.cz
Úterý Červen 11 13:49:34 CEST 2002
On Tue, Jun 11, 2002 at 09:32:59AM +0000, Ivo Kocvara wrote:
> > 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 :-)
Jsou i větší kladiva než Perl, třeba starý dobrý (f)lex: :-)
---------------- cut here
%{
#include <stdio.h>
%}
LBL [[:alpha:]]([[:alnum:]-]*[[:alnum:]])?
NM [[:alnum:]_.-]+
ADDR {NM}\@{LBL}(\.{LBL})*
%%
{ADDR} fwrite(yytext, yyleng, 1, stdout); putchar('\n');
. ;
\n ;
%%
---------------- cut here
Pro překlad stačí
flex addr.flex
gcc -O2 -s -o parser lex.yy.c -lfl
Michal Kubeček
Další informace o konferenci Linux