in reply to Help please?
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Help please?
by Guigou (Initiate) on May 30, 2014 at 10:15 UTC | |
by QM (Parson) on May 30, 2014 at 10:19 UTC | |
by Guigou (Initiate) on May 30, 2014 at 10:30 UTC | |
by Anonymous Monk on May 30, 2014 at 10:46 UTC | |
by choroba (Cardinal) on May 30, 2014 at 10:18 UTC |