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?
In reply to Re^2: grep question using multiple lines
by backstab
in thread grep question using multiple lines
by bradcathey
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |