Sponsored Content
Top Forums Shell Programming and Scripting How to extract start/end times from log file to CSV file? Post 302926335 by derekludwig on Sunday 23rd of November 2014 01:08:35 PM
Old 11-23-2014
Modification of RudiC script (I unrolled the pipeline just to make it clearer to myself) that doesn't use the %(datefmt)T format of printf
Code:
awk '{print $3"-"$2"-"$1" "$4":"$5}' FS="[-: ]" "${1}" \
| date -f- +%s \
| {
  read oldT
  echo -n "${oldT} "
  N=1
  while read curT; do
    if [[ $(( curT - oldT )) -gt 60 ]]; then
      echo ${oldT} ${N}
      echo -n "${curT} "
      N=0
    fi
    oldT=${curT}
    (( N++ ))
  done
  echo ${oldT} ${N}
} \
| while read oldT newT N; do
  echo $(date +%d-%m-%Y\ %H:%M -d @${oldT}),$(date +%d-%m-%Y\ %H:%M -d @${newT}),${N}
done

See the manpage if your version of date doesn't support -d @seconds.
Testing with a larger dataset:
Code:
14-11-2014 05:23
14-11-2014 05:24
14-11-2014 05:25
14-11-2014 05:26
16-11-2014 13:01
16-11-2014 13:02
16-11-2014 13:03
23-11-2014 03:00
23-11-2014 05:24
23-11-2014 05:25
24-11-2014 08:24
24-11-2014 08:25
25-11-2014 08:58
25-11-2014 08:59
25-11-2014 09:00
25-11-2014 09:01
31-12-2014 23:47
31-12-2014 23:48
31-12-2014 23:49
    snip
01-01-2015 00:05
01-01-2015 00:06
01-01-2015 00:07

yielded:
Code:
14-11-2014 05:23,14-11-2014 05:26,4
16-11-2014 13:01,16-11-2014 13:03,3
23-11-2014 03:00,23-11-2014 03:00,1
23-11-2014 05:24,23-11-2014 05:25,2
24-11-2014 08:24,24-11-2014 08:25,2
25-11-2014 08:58,25-11-2014 09:01,4
31-12-2014 23:47,01-01-2015 00:07,21

(thanks to RudiC for giving me a starting point)
These 2 Users Gave Thanks to derekludwig For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Start and End times of background processes

Hi I'm running 4 jobs in the background and I need to write the start and end times to a log file. I know there's probably a simple way to do this but, I can't think of it. I've used nohup <script name> & but, that doesn't record the times. Is there a way to get the start and end times of a... (2 Replies)
Discussion started by: stonemonolith
2 Replies

2. Shell Programming and Scripting

extract a particular start and end pattern from a line

hi In the foll example the whole text in a single line.... i want to extract text from IPTel to RTCPBase.h. want to use this acrooss the whole file Updated: IPTel\platform\core\include\RTCPBase.h \main\MWS2051_Sablime_Int\1... (7 Replies)
Discussion started by: manish205
7 Replies

3. UNIX for Dummies Questions & Answers

Extract a specific number from an XML file based on the start and end tags

Hello People, I have the following contents in an XML file ........... ........... .......... ........... <Details = "Sample Details"> <Name>Bob</Name> <Age>34</Age> <Address>CA</Address> <ContactNumber>1234</ContactNumber> </Details> ........... ............. .............. (4 Replies)
Discussion started by: sushant172
4 Replies

4. Shell Programming and Scripting

can I specifiy the start and end times manually

Hi I have a ksh script which fetches data from a db using a number of .arc files and creates CSV files for them and puts them on the server. Question is, can I specifiy the start and stop times manually and run the script manually to fetch data for a certain period? # Get the current... (0 Replies)
Discussion started by: shajju
0 Replies

5. Shell Programming and Scripting

can I specifiy the start and end times manually

Hi I have a ksh script which fetches data from a db using a number of .arc files and creates CSV files for them and puts them on the server. Question is, how can I specifiy the start and stop times specifically so that data is fetched for a certain period? # Get the current time as the... (1 Reply)
Discussion started by: shajju
1 Replies

6. Shell Programming and Scripting

Extract data from an XML file & write into a CSV file

Hi All, I am having an XML tag like: <detail sim_ser_no_1="898407109001000090" imsi_1="452070001000090"> <security>ADM1=????</security> <security>PIN1=????</security> <security>PIN2=????</security> ... (2 Replies)
Discussion started by: ss_ss
2 Replies

7. Shell Programming and Scripting

Use grep sed or awk to extract string from log file and put into CSV

I'd like to copy strings from a log file and put them into a CSV. The strings could be on different line numbers, depending on size of log. Example Log File: File = foo.bat Date = 11/11/11 User = Foo Bar Size = 1024 ... CSV should look like: "foo.bat","11/11/11","Foo Bar","1024" (7 Replies)
Discussion started by: chipperuga
7 Replies

8. UNIX for Dummies Questions & Answers

extract regions of file based on start and end position

Hi, I have a file1 of many long sequences, each preceded by a unique header line. file2 is 3-columns list: headers name, start position, end position. I'd like to extract the sequence region of file1 specified in file2. Based on a post elsewhere, I found the code: awk... (2 Replies)
Discussion started by: pathunkathunk
2 Replies

9. Shell Programming and Scripting

Extract data from XML file and write in CSV file

Hi friend i have input as following XML file <?xml version="1.0"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"> <BkToCstmrDbtCdtNtfctn> <GrpHdr><MsgId>LBP-RDJ-TE000000-130042430010001001</MsgId><CreDtTm>2013-01-04T03:21:30</CreDtTm></GrpHdr>... (3 Replies)
Discussion started by: mohan sharma
3 Replies

10. Shell Programming and Scripting

Split a file by start and end row.

I have a file which looks something as following, I would like to split to several files, The start and end of each file is 'FILE' and end with 'ASCII... ' . At the same time for each file in the first column add 100 and also second column add 100 the rest of the column as it is , see example of... (2 Replies)
Discussion started by: tk2000
2 Replies
log(8)							      System Manager's Manual							    log(8)

NAME
log - Records input and output from a program SYNOPSIS
/usr/sbin/log <logfile> <command> OPERANDS
The file in which to record the interaction being logged. The command to execute. DESCRIPTION
The log program runs <command> and logs the input to and output from <command> to the <logfile> file. Input and output are logged until <command> exits, the log program exits, and the exit status of <command> is returned. The log program is used by the system installation procedure and the it(8) command to create the /var/adm/smlogs/install.log and /var/adm/smlogs/it.log installation log files. RESTRICTIONS
Because the log program is used in the installation standalone environment, program size was the greatest concern in its implementation. The log program does not search for the PATH variable to locate <command> and error messages are terse. The log program causes <command> to take standard input from and write standard output and standard error to UNIX pipes. Some commands will not be able to operate in this environment; therefore, it is suggested that you use the script(1) command instead. UNIX shells will not issue prompts when run from log unless the shell is started with an explicit interactive switch (-i for most shells). For example, log foo.tmp /sbin/sh -i In the previous example, foo.tmp is the name of <logfile>. The log program intercepts end-of-file (usually Ctrl/d). Therefore programs which normally receive end-of-file as an exit command must exit by some other means. ERRORS
Log open error Explanation: The log program was unable to open <logfile>. Verify that the directory exists and that ownerships and permissions are set correctly. Exec Error Explanation: The log program was unable to execute <command>. Verify that you specified a full pathname for <command> and that <command> is an exe- cutable file. Fork Error Explanation: The log program was unable to create one of the processes it requires to log data. SEE ALSO
Commands: it(8), script(1) log(8)
All times are GMT -4. The time now is 01:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy