The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com



UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Output to file but append rather than overwrite? Sepia UNIX for Dummies Questions & Answers 2 06-19-2009 06:44 AM
how to grep and compare timestamp in a file with the current date achu AIX 1 05-25-2009 09:05 AM
how to grep and compare timestamp in a file with the current date achu AIX 1 05-25-2009 08:20 AM
Append Output to another file in Perl Raynon Shell Programming and Scripting 7 09-03-2008 03:29 AM
Append output to file ayhanne Shell Programming and Scripting 3 10-24-2007 12:30 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-25-2009
Sepia Sepia is offline
Registered User
  
 

Join Date: Apr 2007
Location: England
Posts: 49
Question Append file with grep output but add timestamp?

I've setup a cron job that greps a file every five minutes and then writes (appends) the grep output/result to another file:

grep "monkey" zoo.log | tail -1 >> cron-zoo-log

Is there any way I can add the date and time (timestamp) to the cron-zoo-log file for each time a new line was added?

At the moment the cron-zoo-log just looks like this:

monkey house
monkey car

Could I get it to be:

monkey house 2009-01-01:16:54:00
monkey car 2009-01-01:17:01:00

Thank you.
  #2 (permalink)  
Old 06-25-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Location: Boston, MA
Posts: 5,116
Code:
grep "monkey" zoo.log | tail -1 | sed "s/^/$(date)/" >> cron-zoo-log
  #3 (permalink)  
Old 06-25-2009
Sepia Sepia is offline
Registered User
  
 

Join Date: Apr 2007
Location: England
Posts: 49
Quote:
Originally Posted by vgersh99 View Post
Code:
grep "monkey" zoo.log | tail -1 | sed "s/^/$(date)/" >> cron-zoo-log
Excellent.

That is putting the date before the grep result - is there a way to switch it around and maybe separate them by a comma?
  #4 (permalink)  
Old 06-25-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Location: Boston, MA
Posts: 5,116
Quote:
Originally Posted by Sepia View Post
Excellent.

That is putting the date before the grep result - is there a way to switch it around and maybe separate them by a comma?
sure:
Code:
grep "monkey" zoo.log | tail -1 | sed "s/$/,$(date)/" >> cron-zoo-log
I'll let you change the format of 'date' yourself.
  #5 (permalink)  
Old 06-25-2009
Sepia Sepia is offline
Registered User
  
 

Join Date: Apr 2007
Location: England
Posts: 49
Thanks but that is now doing:

,Thu Jun 25 13:04:59 BST 2009count: 3

Where 'count 3' should have four words infront of it!

I've tried changing the order of sed "s/$/,$(date)/" around but that doesn't seem to help.

edit: doesnt seem to be writing the date when its done as a cronjob. Just has $(date),monkey

Last edited by Sepia; 06-25-2009 at 08:25 AM..
  #6 (permalink)  
Old 06-25-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Location: Boston, MA
Posts: 5,116
Quote:
Originally Posted by Sepia View Post
Thanks but that is now doing:

,Thu Jun 25 13:04:59 BST 2009count: 3

Where 'count 3' should have four words infront of it!
hm....... strange
try: sed "s/\$/,$(date)/"
Quote:
Originally Posted by Sepia
I've tried changing the order of sed "s/$/,$(date)/" around but that doesn't seem to help.

edit: doesnt seem to be writing the date when its done as a cronjob. Just has $(date),monkey
'crontab' runs in Bourne shell - the '$(date)' is ksh/bash specific. Change '$(date)' to '`date`' in crontab - or write your own ksh/bash wrapper and call it from cron.
  #7 (permalink)  
Old 06-25-2009
Sepia Sepia is offline
Registered User
  
 

Join Date: Apr 2007
Location: England
Posts: 49
Quote:
Originally Posted by vgersh99 View Post
hm....... strange
try: sed "s/\$/,$(date)/"
No joy, still missing text.

Quote:
Originally Posted by vgersh99 View Post
'crontab' runs in Bourne shell - the '$(date)' is ksh/bash specific. Change '$(date)' to '`date`' in crontab - or write your own ksh/bash wrapper and call it from cron.
Thanks. Changed it to `date` and it is now displayed properly.

Thanks.
Sponsored Links
Reply

Bookmarks

Tags
timestamp

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 10:31 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language translation by Google.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0