Date format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date format
# 8  
Old 11-18-2009
Another way using awk (or nawk) :
Code:
awk -F '[-, ]' '
/COMMAND PROCESS FINISHED IN/ {
   printf "COMMAND %s FINISHED IN %s/%s/%s %s\n", $10, $3, $2, $1, $4;
}
' input_file

Jean-Pierre.
# 9  
Old 11-18-2009
Yet another way (BTW I think a command finishes at a point in time, no?)
Code:
$> sed -nr 's/(....)-(..)-(..) (..:..:..),.*] (.*) INFO.*/\5 finished at \3-\2-\1 \4/p' infile
Command 145 finished at 30-10-2007 14:50:05


Last edited by Scrutinizer; 11-18-2009 at 08:14 AM..
# 10  
Old 11-18-2009
Dear Aigles,

your code is working fine with nawk. I tried with awk, but it doesn't work. Anyway, with nawk the output format is fine. Thanks for your help.

Dear Scrutinizer,

Code:
sed -nr 's/(....)-(..)-(..) (..:..:..),.*] (.*) INFO.*/\5 finished at \3-\2-\1 \4/p' infile

the error code return : sed: illegal option -- r

I am on SOLARIS 9 it may be the reason.

Thanks anyway for your help.
# 11  
Old 11-18-2009
Code:
sed -n 's/\(....\)-\(..\)-\(..\) \(..:..:..\),.*] \(.*\) INFO.*/\5 finished at \3-\2-\1 \4/p' infile

# 12  
Old 11-18-2009
"dear" aswex,

Quote:
Originally Posted by Aswex
...
Code:
Sure there is. What language do you prefer ?

tyler_durden

I am supposed to used the shell (ksh).

...
Ksh is a shell, not a language.
And Perl is a scripting language just like awk/nawk/gawk/tawk etc. which looks so okay to you.

And if you were supposed to use just the shell, then you'd go for something like this, or maybe clumsier:

Code:
$
$ cat f10
2007-10-30 14:50:05,544 [Command Thread-5] Command 145 INFO  saturne.service.command.manager.ExecutableCommand - COMMAND PROCESS FINISHED IN 11448 ms
$
$
$ ##
$ cat f10 | while read c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14; do
>   echo $c10 $c12 $c13 ${c1##*-}/${c1:5:2}/${c1%%-*} ${c2%%,*}
> done
COMMAND FINISHED IN 30/10/2007 14:50:05
$
$

Guess I'll never understand the aversion to Perl.

tyler_durden
# 13  
Old 11-18-2009
Quote:
Originally Posted by durden_tyler
Ksh is a shell, not a language.

The shell is a programming language.
Quote:
And Perl is a scripting language just like awk/nawk/gawk/tawk etc. which looks so okay to you.

And if you were supposed to use just the shell, then you'd go for something like this, or maybe clumsier:

Code:
$
$ cat f10
2007-10-30 14:50:05,544 [Command Thread-5] Command 145 INFO  saturne.service.command.manager.ExecutableCommand - COMMAND PROCESS FINISHED IN 11448 ms
$
$
$ ##
$ cat f10 | while read c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14;


That's clumsy; there's no need for cat.
Quote:
Code:
do
>   echo $c10 $c12 $c13 ${c1##*-}/${c1:5:2}/${c1%%-*} ${c2%%,*}
> done
COMMAND FINISHED IN 30/10/2007 14:50:05
$
$


Whether the shell is better than awk depends on the size of the file.
Quote:

Guess I'll never understand the aversion to Perl.

There's a choice between bloated or unreadable.
# 14  
Old 11-19-2009
Dear durden_tyler, Dear cfajohnson,

Thanks for your help. As I am starting to use shell script and UNIX system, It is hard for me to use the good word about programming language. I am really new about all of this, so I would say sorry for that.

Code:
Whether the shell is better than awk depends on the size of the file.

I've got a log file for each day of the week. Each log file (ex : command.log.2009-11-18) is about 20 or 50 Mo. As there is no web page to create report about this, my idea was to create a shell script with a read command to enter date or periode of the day, week or month and check which command were finished and print the date/time of each command.

I have also discovored that I've got the time on ms taken by the command. I will try to complete your help to make something very helpfull for me.

Code:
2009-10-30 14:50:05,544 [Command Thread-5] Command 266 INFO  saturne.service.command.manager.ExecutableCommand - COMMAND PROCESS FINISHED IN 11448 ms

Thanks to all for your help.

---------- Post updated at 05:35 AM ---------- Previous update was at 05:19 AM ----------

Quote:
Originally Posted by Aswex
Dear durden_tyler, Dear cfajohnson,

Thanks for your help. As I am starting to use shell script and UNIX system, It is hard for me to use the good word about programming language. I am really new about all of this, so I would say sorry for that.

Code:
Whether the shell is better than awk depends on the size of the file.

I've got a log file for each day of the week. Each log file (ex : command.log.2009-11-18) is about 20 or 50 Mo. As there is no web page to create report about this, my idea was to create a shell script with a read command to enter date or periode of the day, week or month and check which command were finished and print the date/time of each command.

I have also discovored that I've got the time on ms taken by the command. I will try to complete your help to make something very helpfull for me.

Code:
2009-10-30 14:50:05,544 [Command Thread-5] Command 266 INFO  saturne.service.command.manager.ExecutableCommand - COMMAND PROCESS FINISHED IN 11448 ms

Thanks to all for your help.
durden_tyler,

as the log file does record a lots of informations that I don't need I have to grep the log file to only found the string
Code:
COMMAND PROCESS FINISHED IN

to extract the info I am looking for. I supposed this is reason why the command that you given return error :
Code:
ksh[2]: ${c1##*-}/${c1:5:2}/${c1%%-*}: bad substitution

Anyway I will try to use all information aleady given to make my need to work
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Date: invalid date trying to set Linux date in specific format

i try to set linux date & time in specific format but it keep giving me error Example : date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01" or date +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01" keep giving me this error : date: invalid date ‘19-01-2017 00:05:01' Please use CODE tags... (7 Replies)
Discussion started by: umen
7 Replies

2. UNIX for Dummies Questions & Answers

Rename all Files in a UNIX Directory from one date format to another date format

Hi Unix Gurus, I would like to rename several files in a Unix Directory . The filenames can have more than 1 underscore ( _ ) and the last underscore is always followed by a date in the format mmddyyyy. The Extension of the files can be .txt or .pdf or .xls etc and is case insensitive ie... (1 Reply)
Discussion started by: pchegoor
1 Replies

3. Shell Programming and Scripting

finding date numeral from file and check the validity of date format

hi there I have file names in different format as below triss_20111117_fxcb.csv triss_fxcb_20111117.csv xpnl_hypo_reu_miplvdone_11172011.csv xpnl_hypo_reu_miplvdone_11-17-2011.csv xpnl_hypo_reu_miplvdone_20111117.csv xpnl_hypo_reu_miplvdone_20111117xfb.csv... (10 Replies)
Discussion started by: manas_ranjan
10 Replies

4. UNIX for Dummies Questions & Answers

Shell Scripts - shows today’s date and time in a better format than ‘date’ (Uses positional paramete

Hello, I am trying to show today's date and time in a better format than ‘date' (Using positional parameters). I found a command mktime and am wondering if this is the best command to use or will this also show me the time elapse since 1/30/70? Any help would be greatly appreciated, Thanks... (3 Replies)
Discussion started by: citizencro
3 Replies

5. Shell Programming and Scripting

Date after 5 days from current date in YYYYMMDD format

Hello Experts, How do i get date after 5 days from current date in YYYYMMDD format? How do you compare date in YYYYMMDD format? Thanks (8 Replies)
Discussion started by: needyourhelp10
8 Replies

6. Shell Programming and Scripting

How to increment a user defined date value in the DATE format itself using shell script?

I need to increment a date value through shell script. Input value consist of start date and end date in DATE format of unix. For eg. I need increment a date value of 1/1/09 to 31/12/09 i.e for a whole yr. The output must look like 1/1/09 2/2/09 . . . 31/1/09 . . 1/2/09 . 28/2/09... (1 Reply)
Discussion started by: sunil087
1 Replies

7. UNIX for Dummies Questions & Answers

Changing from Excel date format to MySQL date format

I have a list of dates in the following format: mm/dd/yyyy and want to change these to the MySQL standard format: yyyy-mm-dd. The dates in the original file may or may not be zero padded, so April is sometimes "04" and other times simply "4". This is what I use to change the format: sed -i '' -e... (2 Replies)
Discussion started by: figaro
2 Replies

8. Shell Programming and Scripting

convert date format to mysql date format in log file

I have a comma delimited log file which has the date as MM/DD/YY in the 2nd column, and HH:MM:SS in the 3rd column. I need to change the date format to YYYY-MM-DD and merge it with the the time HH:MM:SS. How will I got about this? Sample input 02/27/09,23:52:31 02/27/09,23:52:52... (3 Replies)
Discussion started by: hazno
3 Replies

9. UNIX for Advanced & Expert Users

date issue-find prevoius date in a patricular format

Hi , I have written a shell script that takes the current date on the server and stores it in a file. echo get /usr/home/data-`date '+%Y%d'`.xml> /usr/local/sandeep/GetFILE.ini I call this GetFILE.ini file from an sftp program to fetch a file from /usr/home/ as location. The file is in... (3 Replies)
Discussion started by: bsandeep_80
3 Replies

10. Shell Programming and Scripting

convert mmddyy date format to ccyyddd format??

hi, for reading a cobol indexed file i need to convert "mmddyy" date format to "ccyyddd" format. i checked the datecalc and other scripts but couldnt modify them to cater to my need:(... The datecalc gives an output which i believe is the total days till that date, but i want to convert it... (2 Replies)
Discussion started by: Bhups
2 Replies
Login or Register to Ask a Question