Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Date format from Jan 01 2015 11:00:00 PM to 01/01/2015 23.00.00 Post 302943660 by Don Cragun on Monday 11th of May 2015 03:45:19 PM
Old 05-11-2015
The following script seems to work with the two file formats you gave as samples. This was tested using the Korn shell, but it should work with any shell that recognizes basic Bourne shell syntax:
Code:
#!/bin/ksh
awk '
BEGIN {	mon["Jan"] = "01";	mon["Feb"] = "02";	mon["Mar"] = "03"
	mon["Apr"] = "04";	mon["May"] = "05";	mon["Jun"] = "06"
	mon["Jul"] = "07";	mon["Aug"] = "08";	mon["Sep"] = "09"
	mon["Oct"] = 10; 	mon["Nov"] = 11;	mon["Dec"] = 12
	FS = OFS = "|"
}
function dc(fn,		d, h, n) {
	n = split(" " $fn, d, /[ :]+/)
	h = (d[5] == 12 ? 0 : d[5]) + (d[8] == "AM" ? 0 : 12)
	$fn = sprintf("%s/%s/%s %02d.%s.%s", mon[d[2]], d[3], d[4], h, d[6], d[7])
}
NF == 7 {
	dc(3)
}
{	dc(NF)
}
1' "$1"

Save the above code in a file (I used tester) for this example and make it executable:
Code:
chmod +x tester

I strongly encourage you not to include spaces and quotes in your filenames. But, with the sample files you specified, the following commands seem to convert your files as requested:
Code:
./tester 'File1 '

produces the output:
Code:
Richard|Standard | Not asigned| Insured | New York |01/01/2015 23.00.00
John | Not Standard |  asigned| Insured | New York |01/01/2015 23.00.00
James | No| Assigned| No| New york |01/01/2015 23.00.00

And, the command:
Code:
./tester 'File 2"'

produces the output:
Code:
Richard|Standard |11/01/2014 22.00.00| Not asigned| Insured | New York |01/01/2015 23.00.00
John | Not Standard |01/05/2014 23.00.00|  asigned| Insured | New York |01/01/2015 23.00.00
James | No|09/01/2014 10.00.00| Assigned| No| New york |01/01/2015 23.00.00

 

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl one-liner to get yesterday's date in format dd-MMM-yy (i.e. 01-JAN-12)

I have the following perl one-liner to get yesterday's date, but I would like it in the form of dd-MMM-yy (for example: 01-JAN-12). Can someone alter the below code so I get the format I want? Also, could someone also give me a line for dd-Mmm-yy (for example 01-Jan-12)? Code: YEST=`perl -w... (3 Replies)
Discussion started by: thibodc
3 Replies

2. Shell Programming and Scripting

How to convert date format such as 7/18/2015 to the number of month

How to convert date format such as 7/18/2015 to the number of month from requesting date 'date' in sh scripting ? Let say I have output in my log.txt -> 7/18/2015. How I convert it to the full number of month starting from 'date' till 7/18/2015 in shell scripting ? Thanks in advance. (1 Reply)
Discussion started by: amerabest
1 Replies

3. What is on Your Mind?

While Happy; do @ ;done < 2015

http://i62.tinypic.com/zt6a08.jpg (2 Replies)
Discussion started by: ongoto
2 Replies

4. Solaris

Leap second for year 2015

I hear the Leap second for 2015 will occur on June 30 at 23:59:60 according to the wild rumours from internet the expected impact ranges from crashing to hanging servers. Can anybody share their preparations what they have done for solaris servers? are there any patches to install or workaround?... (1 Reply)
Discussion started by: sparcguy
1 Replies

5. What is on Your Mind?

LinuxCon Seattle 2015

Only a little over a week until I head out to LinuxCon in Seattle. Anyone else attending this year? (0 Replies)
Discussion started by: Gallavin
0 Replies

6. SCO

Strange behaviour on Openserver 5.0.2 after 09/2015

Dear friends, i am having some Problems with a Sco Openserver in a Box (normally on VMWare, importing it on a Virtualbox does the same). When i boot up the system on xx/09/2015 i got fork failed - too many processes during startup. The programs which should run on the server, do not run. I... (67 Replies)
Discussion started by: ChipperEs
67 Replies
IRSEND(1)							   User Commands							 IRSEND(1)

NAME
irsend - basic LIRC program to send infra-red commands SYNOPSIS
irsend [options] DIRECTIVE REMOTE CODE [CODE...] DESCRIPTION
Asks the lircd daemon to send one or more CIR (Consumer Infra-Red) commands. This is intended for remote control of electronic devices such as TV boxes, HiFi sets, etc. DIRECTIVE can be: SEND_ONCE - send CODE [CODE ...] once SEND_START - start repeating CODE SEND_STOP - stop repeating CODE LIST - list configured remote items SET_TRANSMITTERS - set transmitters NUM [NUM ...] SIMULATE - simulate IR event REMOTE is the name of a remote, as described in the lircd configuration file. CODE is the name of a remote control key of REMOTE, as it appears in the lircd configuration file. NUM is the transmitter number of the hardware device. For the LIST DIRECTIVE, REMOTE and/or CODE can be empty: LIST "" "" - list all configured remote names LIST REMOTE "" - list all codes of REMOTE LIST REMOTE CODE - list only CODE of REMOTE The SIMULATE command only works if it has been explicitly enabled in lircd. -h --help display usage summary -v --version display version -d --device use given lircd socket [/var/run/lirc/lircd] -a --address=host[:port] connect to lircd at this address -# --count=n send command n times EXAMPLES
irsend LIST DenonTuner "" irsend SEND_ONCE DenonTuner PROG-SCAN irsend SEND_ONCE OnkyoAmpli VOL-UP VOL-UP VOL-UP VOL-UP irsend SEND_START OnkyoAmpli VOL-DOWN ; sleep 3 irsend SEND_STOP OnkyoAmpli VOL-DOWN irsend SET_TRANSMITTERS 1 irsend SET_TRANSMITTERS 1 3 4 irsend SIMULATE "0000000000000476 00 OK TECHNISAT_ST3004S" FILES
/etc/lirc/lircd.conf Default lircd configuration file. It should contain all the remotes, their infra-red codes and the corresponding timing and wave- form details. DIAGNOSTICS
If lircd is not running (or /var/run/lirc/lircd lacks write permissions) irsend aborts with the following diagnostics: "irsend: could not connect to socket" "irsend: Connection refused" (or "Permission denied"). SEE ALSO
The documentation for lirc is maintained as html pages. They are located under html/ in the documentation directory. lircd(8), mode2(1), smode2(1), xmode2(1), irrecord(1), irw(1), http://www.lirc.org. irsend 0.9.0-pre1 October 2010 IRSEND(1)
All times are GMT -4. The time now is 11:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy