Use the modifier notation might be of great style as
well,
perl -nle 'print $1 while /constant=(.*)\s/g' /home/jamie/txt
But I remark the association of -l and
\s vs. a more explicite regexp
does not behave well in case of many matches on the same
line!
Try it for example with a txt file as follow,
xxxxxxxxx constant=foo@bar.com xxxxxxxxxxx
xxxxxx constant=baz@huux.org xxxxxxx contant=hello@world.bye xxxxxxxxx
xxxxxxxxxxxxxxxxxxx
will print,
foo@bar.com
baz@huux.org xxxxxxx contant=hello@world.bye
I think the problem comes from (.*)
that is greedy and matches even spaces at the condition
there is at least one space remaining to satisfie
\s. But I try (.*?) and
the /g flag does not seem ok? |