On Wed, Mar 24, 2010 at 4:48 AM, Roland RoLaNd <r_o_l_a_n_d at hotmail.com> wrote: > > hello, > > i've just wrote the following : > > more ./*.csv | grep -i XXX | echo "Dear XXX, This email is for informative purposes. Your total number of hours for the week of `date` is: `cut -d, -f2` hours Kindly note that the average weekly working hours is : 40." | /usr/sbin/sendEmail -t mail at domain.com -u Test email- disregard it -f othermail at subdomain.com -s smtp.domain.com:25 > > this looks in a csv file that exists in the same directory for XX and outputs the field right next to it as you notice from : `cut -d, -f2` > > It's working pretty fine for just one user, but i have to do the same for 432 person. and its obviously not as professional as it should be due to the following reasons: > > 1. i have to fill the name for each person in place of XXX as well as their MAIL at domain.com > 2. the date command gives the hour as well which is a bit annoying > > > can anyone guide me on how to proceed? > as you notice im a bit of a newbie with bash and im trying my best to improve my one liners/scripts :D I had a similar assignment once.. The cleanest approach is to use awk instead of grep and cut. With awk you can specify fields in the input as $2, $3, etc..