Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Change date format in a file. Post 303043237 by Raghuram717 on Wednesday 22nd of January 2020 03:48:53 AM
Old 01-22-2020
Code:
while IFS= read -r line
do
  mydate=$(grep -Po '[0-9]+/[0-9]+/[0-9]+' <<< "$line") 
  # perform the replacement in case there is date to process
  if [[ ! -z "$mydate" ]]; then
     newdate=$(date -d"$mydate" "+%Y-%m-%d") 
     sed -i "s#$mydate#$newdate#" file       
  fi
done < file


But taking long time ..looking for awk
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to change it to the date format

Hi, I want to know how to change this string to date format 20061102122042 to 02-11-2006 12:20:42 or 02-Nov-2006 12:20:42 Please let me know at the earliest.Thanks in advance. Regards, Preetham R. (3 Replies)
Discussion started by: preethgideon
3 Replies

2. Shell Programming and Scripting

script to change the date format in a file

i have many files with date format of 6-9-2008 and i want a script that can change the format to 2008-06-09 Thanks (15 Replies)
Discussion started by: shehzad_m
15 Replies

3. 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

4. Shell Programming and Scripting

How to change date format in file

Hello! I have a textfile that look like this: "83d1:46:2b";"20091008190000";"Rögle BK - Skellefteå";"Swedish" "d4c:46:21";"20091008190000";"Södertälje - Brynäs";"Swedish" "d4b:46:2";"20091008190000";"HV 71 - Färjestad";"Swedish" "838:46:b";"20091010160000";"Skellefteå - HV 71";"Swedish"... (2 Replies)
Discussion started by: condmaster
2 Replies

5. Shell Programming and Scripting

Date format change

Dear Friends, Need your help once again, I have a variable ( e.g. ${i}) whoch has date in MM/DD/YYYY (E.g. 12/31/2011) format. I want to change it to DD/MM/YYYY (e.g. 31/12/2011) format. Request you to guide me as we are unable to do the same. Thanks in advance Anu. (1 Reply)
Discussion started by: anushree.a
1 Replies

6. Shell Programming and Scripting

File date format how to change

Hi All, Below are the unix files taken by the help of ls -lrt -rw-r--r-- 1 kbehera Domain Users 293 Jul 27 13:33 sand.txt -rw-r--r-- 1 kbehera Domain Users 4 Jul 27 13:37 sand1.txt -rw-r--r-- 1 kbehera Domain Users 293 Jul 27 15:30 new_sand.txt -rw-r--r-- 1 kbehera Domain Users 0 Jul 27... (2 Replies)
Discussion started by: krupasindhu18
2 Replies

7. Shell Programming and Scripting

How to change the format of the date column in a flat file?

Hi, i have a flat file namely temp.txt with this data below ID|name|contact_date 101|Kay|2013-12-26 102|let|2013-12-26 I need to modify the date data in the flat file into MM/DD/YYYY HH24:MI:SS format let me know the code for this. Thank you! (5 Replies)
Discussion started by: srikanth_sagi
5 Replies

8. Shell Programming and Scripting

Date format change in UNIX .dat file

Hi, I need help to convert the date format in .DAT file in unix. I want to convert 10@@|SWIFT MT568 Extract@@|Apr 14 2014 5:47:52:563PM@@|Apr 14 2014 4:33:47:663PM@@||##| into 10@@|SWIFT MT568 Extract@@|04/14/2014/ 5:47:52:563PM@@|04/14/2014 4:33:47:663PM@@||##| Appreciate... (18 Replies)
Discussion started by: karthikengox
18 Replies

9. Shell Programming and Scripting

Need to change date format in a csv file using awk

Example: Input csv file 00245DLS,Sitel Ocala,12/31/2014,18:45,1.00,7.00,0.00,0.00 00245DLS,Sitel Ocala,12/31/2014,19:00,-1.00,-1.00,-1.00,-1.00 00245HB,Charlotte,01/01/2015,00:00,-1.00,-1.00,-1.00,0.00 Output csv file 00245DLS,Sitel Ocala,2014/12/31,18:45,1.00,7.00,0.00,0.00 00245DLS,Sitel... (8 Replies)
Discussion started by: adit
8 Replies

10. Shell Programming and Scripting

Date format change in a csv file

Hi, We have csv file where date is coming in MM/DD/YYYY HH:MM:SS (06/23/2015 20:59:12) in multiple places But we need to change the date format to DD/Mon/YYYY HH:MM:SS (23/Jul/2015 20:59:12) using shell script. Please let us know how can we achieve the same. (16 Replies)
Discussion started by: dholea
16 Replies
date(1) 						      General Commands Manual							   date(1)

Name
       date - print date and time

Syntax
       date [-c | -u] [ +format ] [[yy[mm[dd]]]hhmm[.ss][-[-]tttt][z]]

Description
       If no argument is given, or if the argument begins with +, the current date and time are printed.  Otherwise, the current date is set.  The
       first mm is the month number; dd is the day number in the month; hh is the hour number (24 hour clock); the second mm is the minute number;
       .ss  the second; -[-]tttt is the minutes west of Greenwich; a positive number means your time zone is west of Greenwich (for example, North
       and South America) and a negative number means it is east of Greenwich (for example Europe); z is a one letter code indicating the dst cor-
       rection mode (n=none, u=usa, a=australian, w=western europe, m=middle europe, e=eastern europe); yy is the last 2 digits of the year number
       and is optional.  The following example sets the date to Oct 8, 12:45 AM:
       date 10080045
       The current year is the default if no year is mentioned.  The system operates in GMT.  The takes care of the conversion to and  from  local
       standard and daylight time.

       If  the	argument begins with +, the output of is under the control of the user.  The format for the output is similar to that of the first
       argument to All output fields are of fixed size (zero padded if necessary).  Each field descriptor is preceded by % and is replaced in  the
       output by its corresponding value.  A single % is encoded by %%.  All other characters are copied to the output without change.	The string
       is always terminated with a new-line character.

Options
       -c     Perform operations using Coordinated Universal Time (UCT) instead of the default local time. The UCT does not use  leap  seconds	so
	      UCT is the same as GMT.

       -u     Perform operations using Greenwich Mean Time (GMT) instead of the default local time.

       + format
	      The following is a list of field Descriptors that can be used in the format (Note: date exits after processing format information) :

		 %a   Locale's abbreviated weekday name

		 %A   Locale's full weekday name

		 %b   Locale's abbreviated month name

		 %B   Locale's full month name

		 %c   Locale's date and time representation

		 %d   Day of month as a decimal number (01-31)

		 %D   Date (%m/%d/%y)

		 %h   Locale's abbreviated month name

		 %H   Hour as a decimal number (00-23)

		 %I   Hour as a decimal number (01-12)

		 %j   Day of year (001-366)

		 %m   Number of month (01-12)

		 %M   Minute number (00-59)

		 %n   Newline character

		 %p   Locale's equivalent to AM or PM

		 %r   Time in AM/PM notation

		 %S   Second number (00-59)

		 %t   Tab character

		 %T   Time (%H/%M/%S)

		 %U   Week number (00-53), Sunday as first day of week

		 %w   Weekday number (0[Sunday]-6)

		 %W   Week number (00-53), Monday as first day of week

		 %x   Locale's date representation

		 %X   Locale's time representation

		 %y   Year without century (00-99)

		 %Y   Year with century

		 %Z   Timezone name, no characters if no timezone

		 %%   %

Examples
       The following command line
       date +%m/%d/%y
       generates the following output
       04/02/89
       The following command line
       date +"DATE: %m/%d/%y%nTIME: %H:%M:%S"
       generates the following output
       DATE: 04/02/89
       TIME: 14:45:05
       The quotes (") are necessary because the format contains blank characters. Use single quotes (') to prevent interpretation by the shell.

Diagnostics
       Failed to set date: Not owner
	    You are not the super-user and you tryed to change the date.  Do not change the date while the system is running in multiuser mode.

Restrictions
       An attempt to set a date to before 1/1/1970 will result in the date being set to 1/1/1970.

Files
       /dev/kmem

																	   date(1)
All times are GMT -4. The time now is 10:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy