For posting, use <code>code tags</code> around your code.
Useless use of cat: Put the filename after all other perl arguments, such as:
perl -ne "blah" filename
You probably meant $3 instead of the duplicate $2.
.* is greedy, and will tend to eat too much. Given your input example, you might use \S+ to only capture non-whitespace, and .*? to be non-greedy elsewhere. Or, perhaps constrain your regex more with /Turn.*?speaker=(\S+)\s+startTime=(\S+)\s+endTime=(\S+)/
On Windoze/DOS, quoting is an issue, but you don't seem to have a problem so far. I prefer to use qq// and q// for quoting in perl oneliners. For example:
perl -ne "print qq/$1 $2 $3\n/ if (/Turn.*?speaker=(\S+)\s+startTime=( +\S+)\s+endTime=(\S+)/)" input_file > toto.xxx
To check the compile without running, add -c as a perl option:
perl -c -ne "print qq/$1 $2 $3\n/ if (/Turn.*?speaker=(\S+)\s+startTim +e=(\S+)\s+endTime=(\S+)/)" -e syntax OK
-QM
--
Quantum Mechanics: The dreams stuff is made of
In reply to Re: Help please?
by QM
in thread Help please?
by Guigou
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |