Get last timestamp from file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Get last timestamp from file
# 1  
Old 08-03-2016
Get last timestamp from file

Hi,

I have the following output in a file:

Code:
 NODE_NAME  DATE(GMT)  TIME_PERIOD         UNITS      TUPS 
---------         ----------      -----------              ------------ --------- 
slc-a              03/08/2016  08:45-08:50          94            0.3
                     03/08/2016 08:50-08:55           109          0.4
                     03/08/2016 08:55-09:00           71            0.2
                     03/08/2016 09:00-09:05           85            0.3
                     03/08/2016 09:05-09:10           55            0.2
                     03/08/2016 09:10-09:15           69            0.2
                     03/08/2016 09:15-09:20           85            0.3
                     03/08/2016 09:20-09:25           93            0.3
                     03/08/2016 09:25-09:30           81            0.3
                     03/08/2016 09:30-09:35           77            0.3
                     03/08/2016 09:35-09:40           73            0.2
                     03/08/2016 09:40-09:45           78            0.3 
*********   *********  *********  *********  *********                        
 slc-a               03/08/2016 08:45-08:50            9       0.0
                      03/08/2016 08:50-08:55            7       0.0
                      03/08/2016 08:55-09:00            7       0.0
                      03/08/2016 09:00-09:05            8       0.0
                      03/08/2016 09:05-09:10            5       0.0
                      03/08/2016 09:10-09:15            5       0.0
                      03/08/2016 09:15-09:20            3       0.0
                      03/08/2016 09:20-09:25            4       0.0
                      03/08/2016 09:25-09:30            8       0.0
                      03/08/2016 09:30-09:35            8       0.0
                      03/08/2016 09:35-09:40            3       0.0
                      03/08/2016 09:40-09:45            4       0.0 
*********                        ------------ ---------

I am trying to capture the last timestamps from the first section and also from the last, i.e.
Code:
03/08/2016 09:40-09:45

to be able to get the UNITS results, so basically my answer should be:

Code:
 03/08/2016 09:40-09:45           78
03/08/2016 09:40-09:45            4

Honestly I don't know from where I can start if I try using awk or sed. Can you help out?
# 2  
Old 08-03-2016
Hello nms,

Considering that as per your shown Input_file your Input_file will be in sorted(increasing) order of time stamp and you will have ********* lines before each section starts. If yes to both of above mentioned conditions then following may help you in same.
Code:
awk '/^\*\*/ && Q{gsub(/^[[:space:]]+|[[:space:]]+$/,X,Q);print Q;Q="";next} {$NF="";Q=$0}'   Input_file

Output will be as follows.
Code:
03/08/2016 09:40-09:45 78
03/08/2016 09:40-09:45 4

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 3  
Old 08-03-2016
Code:
awk 'l && /^[*]/ {print l} NF {NF=NF-1; l=$0}' infile

This User Gave Thanks to rdrtx1 For This Post:
# 4  
Old 08-03-2016
Hi,

Strangely enough when trying both codes I am returned with this error:
Code:
awk: syntax error near line 1
awk: bailing out near line 1

Code:
bash-4.1$ awk 'l && /^[*]/ {print l} NF {NF=NF-1; l=$0}' voice.call.txt
awk: syntax error near line 1
awk: bailing out near line 1

Code:
bash-4.1$ awk 'l && /^[*]/ {print l} NF {NF=NF-1; l=$0}' voice.call.txt
awk: syntax error near line 1
awk: bailing out near line 1

# 5  
Old 08-03-2016
If your input file could contain more than two groups of data and you still just want the last entries from the first and last group (instead of the last entry from each group as produced by the code suggested RavinderSingh13 and rdrtx1), you could try:
Code:
awk '
/^[[:space:]]/ {	last_ts = $1 " " $2 "\t" $3 }
/^[*]/ && ! n++ {	print last_ts }
END {			print last_ts }
' file

which, with your sample data produces the output:
Code:
03/08/2016 09:40-09:45	78
03/08/2016 09:40-09:45	4

If you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk.

Last edited by Don Cragun; 08-03-2016 at 03:39 PM.. Reason: Fix tags.
This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 08-03-2016
Quote:
Originally Posted by nms
Hi,

Strangely enough when trying both codes I am returned with this error:
Code:
awk: syntax error near line 1
awk: bailing out near line 1

Code:
bash-4.1$ awk 'l && /^[*]/ {print l} NF {NF=NF-1; l=$0}' voice.call.txt
awk: syntax error near line 1
awk: bailing out near line 1

Code:
bash-4.1$ awk 'l && /^[*]/ {print l} NF {NF=NF-1; l=$0}' voice.call.txt
awk: syntax error near line 1
awk: bailing out near line 1

Hello nms,

On a Solaris/SunOS system, change awkto /usr/xpg4/bin/awk , /usr/xpg6/bin/awk , or nawk.

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 7  
Old 08-03-2016
Hi,

Yes the platform was Solaris. After inputting
Code:
/usr/xpg4/bin/awk

all work well (all 3 suggestions)

Many thanks for your input guys
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep lines between last hour timestamp and current timestamp

So basically I have a log file and each line in this log file starts with a timestamp: MON DD HH:MM:SS SEP 15 07:30:01 I need to grep all the lines between last hour timestamp and current timestamp. Then these lines will be moved to a tmp file from which I will grep for particular strings. ... (1 Reply)
Discussion started by: nms
1 Replies

2. Shell Programming and Scripting

Picking the latest file based on a timestamp for a Dynamic file name

Hi , I did the initial search but could not find what I was expecting for. 15606Always_9999999997_20160418.xml 15606Always_9999999998_20160418.xml 15606Always_9999999999_20160418.xml 9819Always_99999999900_20160418.xml 9819Always_99999999911_20160418.xmlAbove is the list of files I... (4 Replies)
Discussion started by: chillblue
4 Replies

3. Shell Programming and Scripting

AIX : Need to convert UNIX Timestamp to normal timestamp

Hello , I am working on AIX. I have to convert Unix timestamp to normal timestamp. Below is the file. The Unix timestamp will always be preceded by EFFECTIVE_TIME as first field as shown and there could be multiple EFFECTIVE_TIME in the file : 3.txt Contents of... (6 Replies)
Discussion started by: rahul2662
6 Replies

4. Shell Programming and Scripting

To check timestamp in logfile and display lines upto 3 hours before current timestamp

Hi Friends, I have the following logfile. Currently time in india is 07/31/2014 12:33:34 and i have the following content in logfile. I want to display only those entries which contain string 'Exception' within last 3 hours. In this case, it would be the last line only I can get the... (12 Replies)
Discussion started by: srkmish
12 Replies

5. UNIX for Dummies Questions & Answers

Deleting file basing on the timestamp substring in the file name

Hello, I have in my backup folder, files with names convention like this : randomFileNames_13-02-2014_23h13m09+1392333189 randomFileNames_14-02-2014_02h13m09+1392343989 randomFileNames_14-02-2014_04h13m09+1392351189 etc.... Base on timestamp at end of the filename, I would to delete all the... (7 Replies)
Discussion started by: thuyetti
7 Replies

6. Shell Programming and Scripting

Identifying files with a timestamp greater than a given timestamp

I need to be able to identify files with file timestamps greater than a given timestamp. I am using the following solution, although it appears to compare files at the "seconds" granularity and I need it at the milliseconds. When I tested my solution, it missed files that had timestamps... (3 Replies)
Discussion started by: nkm0brm
3 Replies

7. UNIX for Dummies Questions & Answers

How to compare a file by its timestamp and store in a different location whenever timestamp changes?

Hi All, I am new to unix programming. I am trying for a requirement and the requirement goes like this..... I have a test folder. Which tracks log files. After certain time, the log file is getting overwritten by another file (randomly as the time interval is not periodic). I need to preserve... (2 Replies)
Discussion started by: mailsara
2 Replies

8. Shell Programming and Scripting

Getting a relative timestamp from timestamp stored in a file

Hi, I've a file in the following format 1999-APR-8 17:31:06 1500 3 45 1999-APR-8 17:31:15 1500 3 45 1999-APR-8 17:31:25 1500 3 45 1999-APR-8 17:31:30 1500 3 45 1999-APR-8 17:31:55 1500 3 45 1999-APR-8 17:32:06 1500 3 ... (1 Reply)
Discussion started by: vaibhavkorde
1 Replies

9. UNIX for Dummies Questions & Answers

Need help finding a file where a pattern exists and the file has a timestamp

So, I know how to do some of this stuff on an individual level, but I'm drawing a blank as to how to put it all together. I have a pattern that I'm looking for in a log file. The log file I know came in yesterday, so I want to limit the search to that day's listing of files. How would I do... (5 Replies)
Discussion started by: kontrol
5 Replies

10. Shell Programming and Scripting

conversion of different timestamp to standard timestamp

hi i need a scrit to convert one date format to another. for example i have three columns in a file which gets a different format, but lastly i want output with stadard timestamp as "yyyy-mm-dd hh:mm:ss" column1 column2 ... (2 Replies)
Discussion started by: dprakash
2 Replies
Login or Register to Ask a Question