I had this in my temp file: abc 123 53432 [email protected] abc 123 53432 [email protected] abc 123 53432 [email protected] abc 123 53432 [email protected] abc 123 53432 [email protected]
Running the following command: perl -n -e 'm/.* ([^ ]+@.*)$/i; print $1."\n"' temp will print: [email protected] [email protected] [email protected] [email protected] [email protected] You can also redirect the output into a file by: perl -n -e 'm/.* ([^ ]+@.*)$/i; print $1."\n"' temp > out -- Fruit Vendor On Sun, Jul 13, 2014 at 4:00 PM, Paul Johnson <[email protected]> wrote: > On Sun, Jul 13, 2014 at 04:43:41PM -0400, ESChamp wrote: > > I apologize for having to ask this but my nearly-80-year-old brain just > > could not come up with a solution. > > > > I have a text file consisting of several space-separated fields: > > > > lastname firstname other other other ... emailaddress > > > > I wish to write a new file that contains only the emailaddress field > > contents. > > > > There's no need to test the emailaddress field. > > > > I just need a quick and dirty solution as this will be used just one > time. > > Quick and dirty solution: > > $ perl -nale 'print $F[-1]' < original_file.txt > just_email.txt > > perldoc perlrun if you want to see why that works. Take a look at the > -a option. The -1 index into @F says use the last element of the array. > > -- > Paul Johnson - [email protected] > http://www.pjcj.net > > -- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > http://learn.perl.org/ > > >
