Sponsored Content
Top Forums Shell Programming and Scripting Military type format date/time conversion Post 302571925 by in2nix4life on Tuesday 8th of November 2011 03:17:08 PM
Old 11-08-2011
What you already have works, you just need to tweak your regex:

Code:
#!/usr/bin/env perl

use strict;

my $line;

while($line = <DATA>) {
    $line =~ s/(\d+)(:\d+)(A|P)M\,/($3 eq 'a')?($1%12).$2:($1%12+12).$2/e;
    chomp($line);
    print "$line\n";
}

exit(0);

__DATA__
Nov 2 2011 12:01AM,52893,420,1,4,0,52834,4,1208,67664942,603459924403.0,1,150054,1208,3
Nov 2 2011 5:16PM,52127,420,1,4,0,52122,4,1429,55943831,603459924406.0,1,150054,1429,3

Output:

Nov 2 2011 12:0152893,420,1,4,0,52834,4,1208,67664942,603459924403.0,1,150054,1208,3
Nov 2 2011 17:1652127,420,1,4,0,52122,4,1429,55943831,603459924406.0,1,150054,1429,3

Basically removing the '.' before the 'M' from you regex will do it.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Date format conversion function

Hello, does somebody knows about a function that would convert a date like: YYMMDD into a date like YYYY-MM-DD ? Thank you for your ideas :) (9 Replies)
Discussion started by: Cecile
9 Replies

2. Windows & DOS: Issues & Discussions

conversion of unix time format

help me to convert unix time format into windows time format using java i have linux time ex. 1075329297.572 (2 Replies)
Discussion started by: sari
2 Replies

3. Shell Programming and Scripting

Convert Epoch time format to normal date time format in the same file

I have a file named "suspected" with series of line like these : {'protocol': 17, 'service': 'BitTorrent KRPC', 'server': '219.78.120.166', 'client_port': 52044, 'client': '10.64.68.44', 'server_port': 8291, 'time': 1226506312L, 'serverhostname': ''} {'protocol': 17, 'service': 'BitTorrent... (3 Replies)
Discussion started by: rk4k
3 Replies

4. UNIX for Dummies Questions & Answers

date format conversion

hi, i have a file in which i get date format as 22/APR/2010... now i want the date format to be in 22-04-2010 if the month changes to may the file should also have 05 as month.... pls help (3 Replies)
Discussion started by: siva_nagarajan
3 Replies

5. Shell Programming and Scripting

Date format conversion

Hi All, Can someone please let me know how can i convert the date format in unix as follow: From: 24 Oct 2011 i.e $(date +'%d %b %Y') To: 111024 i.e $(date +%y%m%d) Thanks in advance (3 Replies)
Discussion started by: davidtd
3 Replies

6. Shell Programming and Scripting

Date conversion from 24 hr format to 12 hr format

hi i want to convert date procured from sone operation which will be in 24hr format to 12 hr format displaying AM and PM # date -d @1362545068 Tue Mar 5 23:44:28 EST 2013 # this Tue Mar 5 23:44:28 EST 2013 i want to convert it so that output is as below Tue... (2 Replies)
Discussion started by: vivek d r
2 Replies

7. Shell Programming and Scripting

Date conversion and Format

Hello , I have a record in below format Hostname | Query: 0 | Release: 0 | files: 2 | Files_examined: 2 | SET timestamp=1396778638; | select * from test I need output in below format Hostname | 0 | 0 | 2 | 2 | 04/06/2014|03:03:58 | select * from test I was able to get above output... (1 Reply)
Discussion started by: Tomlight
1 Replies

8. Shell Programming and Scripting

Date format conversion

Hi, i have to check the file whether it is created today. here is the ls -l o/p -rw-r----- 20000 50000 130 Dec 12 10:21 file.txt im able to check if file is created today or not if the timestamp is in 2014-12-12 format by comparing $(date +Y-%m-%d) but stuckup as it is of format Dec 12... (6 Replies)
Discussion started by: JSKOBS
6 Replies

9. Shell Programming and Scripting

Bash Scripting with date format conversion

I have a script below and wanted to change the output into three different file format (3 separate script) #!bin/bash #input file format postwrf_d01_20131206_0600_f08400.grb2 #postwrf_d01_YYYYMMDD_ZZZZ_f0HHHH.grb2 #zzzz= 0000,0600,1200,1800 (in UTC) #HHHH=00000,00600,01200,01800 ..ect (in... (1 Reply)
Discussion started by: cumulus_255
1 Replies

10. UNIX for Beginners Questions & Answers

Date format conversion how to change this from using nawk to awk

Hi, I have a file where I need to change the date format on the nth field from DD-MM-YYYY to YYYY-MM-DD so I can accurately sort the record by dates From regex - Use sed or awk to fix date format - Stack Overflow, I found an example using nawk. Test run as below: $: cat xyz.txt A ... (2 Replies)
Discussion started by: newbie_01
2 Replies
PRINTENV(1)						    BSD General Commands Manual 					       PRINTENV(1)

NAME
printenv, env -- print out the environment, set and print environment SYNOPSIS
printenv [name] env [-i] [name=value ...] [utility [argument ...]] DESCRIPTION
The printenv utility prints out the names and values of the variables in the environment, with one name/value pair per line. If name is specified, only its value is printed. Some shells may provide a builtin printenv command which is similar or identical to this utility. Consult the builtin(1) manual page. The env utility executes utility after modifying the environment as specified on the command line. The option name=value specifies an envi- ronment variable, name, with a value of value. The options are as follows: -i Execute the utility with only those environment values specified. The environment inherited by env is ignored completely. If no utility is specified, env prints out the names and values of the variables in the environment, with one name/value pair per line. The env utility is sometimes useful with the ``#!'' construct (see execve(2)). The only difference between ``#!/usr/local/bin/foo'' and ``#!/usr/bin/env /usr/local/bin/foo'' is that the latter works even if /usr/local/bin/foo is itself interpreted. Using env this way also allows one to reference foo without the path, as well as set up the environment as desired. ENVIRONMENT
The env utility uses the PATH environment variable is used to locate the requested utility if the name contains no '/' characters. DIAGNOSTICS
The printenv utility exits 0 on success, and >0 if an error occurs. The env utility exits 0 on success, and >0 if an error occurs. An exit status of 126 indicates utility was found, but could not be executed. An exit status of 127 indicates utility could not be found. COMPATIBILITY
The env utility accepts the - option as a synonym for -i. SEE ALSO
csh(1), sh(1), execvp(3), environ(7) STANDARDS
The env utility conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
The printenv command appeared in 3.0BSD. BUGS
The env utility doesn't handle utility arguments with equal (``='') signs in their names, for obvious reasons. BSD
June 6, 1993 BSD
All times are GMT -4. The time now is 06:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy