Sponsored Content
Top Forums Shell Programming and Scripting Adding timestap to filename using perl Post 302937563 by balajesuri on Friday 6th of March 2015 08:39:06 AM
Old 03-06-2015
Your $current_date is in human readable format (6/Mar/2015 19:07:00). If you try to create a file using such a format, with the spaces in between the date, perl assumes in it's open routine that these are multiple arguments and it will fail. To rectify this, use the following format YYYYmmdd_HHmmss

Code:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
# Build current_date in YYYYmmdd_HHmmss format
$current_date = $year+1900 . sprintf("%02d",$mon+1) . sprintf("%02d", $mday) . "_" . sprintf("%02d", $hour) . sprintf("%02d", $min) . sprintf("%02d", $sec);

print "$current_date\n";
$index=0;
 if($index==0)
   { 
      #Create the first line of the new file
      print("Creating the first line of the new file \n");
      push(@array,'Account_id');
      push(@array,'Subscriber_id');
      push(@array,'Package_id');
      push(@array,'effective_date');
      push(@array,'Expiration_date');
      # open (OUTPUT_FILE, '>>C:\perl\output\proration.$cyear$cmonth$cday.txt')||die "$!";
      open (OUTPUT_FILE, ">>proration_$current_date.txt")||die "$!";
      print OUTPUT_FILE (join ("|", @array), "\n");
      $index++;
   }

This User Gave Thanks to balajesuri For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to adding the filename into file contents

Dear Experts, Please help to teach me how to add the filename into the file content so that i can get the output below:- Actually the file name ***************New output that I want*************** =====2005-11-12===== EVENTS-20050912 03:33:37 ALARM: BTSSPAN-277-1 30-18013... (2 Replies)
Discussion started by: missutoomuch
2 Replies

2. Shell Programming and Scripting

Adding filename into file content

Dear Experts, Please help to teach me how to add the filename into the file content. Actually the file name are EVENTS-20050912. ***************New output that I want*************** EVENTS-20050912 03:33:37 ALARM: BTSSPAN-277-1 30-18013 EVENTS-20050912 12:10:28 ALARM: BTSSPAN-297-2... (1 Reply)
Discussion started by: missutoomuch
1 Replies

3. Shell Programming and Scripting

Grabing Date from filename and adding to the end of each line in the file.

Hi, I have 24 .dat files something like below. The file name starts with “abc” followed by two digit month and two digit year. Is there a way to grab the month and year from each filename and append it to the end of each line. Once this is done I want to combine all the files into file... (1 Reply)
Discussion started by: rkumar28
1 Replies

4. Shell Programming and Scripting

change the filename by adding up 1 each time, tricky one

:confused: Hi, I posted here before for adding up of datafile name each time, here is an example: #!/bin/bash cutdfname="data11.dbf" newname=$(echo "${cutdfname}" |tr "" "" |tr "#_@-" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" |tr -s "x") num=$(echo $newname |cut -d"." -f1|awk... (5 Replies)
Discussion started by: netbanker
5 Replies

5. UNIX for Dummies Questions & Answers

Adding Date & time stamps to filename

I need to edit the file name with date and time while writing the script. please help. (1 Reply)
Discussion started by: manish.s
1 Replies

6. Shell Programming and Scripting

Help with adding leading zeros to a filename

Hi i need help in adding leading zero to filenames e.g file name in my folder are 1_234sd.txt 23_234sd.txt the output i need is 001_234sd.txt 023_234sd.txt can i do this shell scripting please help (2 Replies)
Discussion started by: rsmpk
2 Replies

7. Shell Programming and Scripting

Adding filename to each line of the file

Hi, I am a relative new bee in scripting. I need to develop a script such that the code would iterate through each file in a source directory and append every line of the file with '|' and the corresponding file filename. eg INPUT file IF927_1.dat - H|abc... (4 Replies)
Discussion started by: scripting_newbe
4 Replies

8. UNIX for Dummies Questions & Answers

Adding Filename as column using sed

Hi , Can any one please tell me, how can we add the file name as column using sed. right now we are using the below awk command for adding the file name as column but when we are calling this script from datastage it is deleting the file data..very weird raised a support ticket with datastage.... (2 Replies)
Discussion started by: mora
2 Replies

9. Shell Programming and Scripting

Adding Previous Month To Filename

Dear experts, I'm using solaris 5.10 and bash. I want to zip file "Amount.txt" to "Amount.zip" and rename it to "Amount_<prev_month>_<this year>.zip". For example, file for this month should be renamed to "Amount_06_2012.zip", for next month it should be "Amount_07_2012.zip". I have no problem... (8 Replies)
Discussion started by: kris.adrianto
8 Replies

10. Shell Programming and Scripting

How to put dot in timestap?

I have a string: Code time=20170303122334 I need the result: 20170303.122334 I did: CODE: ttdotss=`echo ${time} |sed 's\(.|{8\}\)/|1 /g'` Result sed: Function s\(.|{8\}\)/|1 /g cannot be parsed. Could you please help me to resolve this issue? Thanks for contribution (2 Replies)
Discussion started by: digioleg54
2 Replies
Time::localtime(3pm)					 Perl Programmers Reference Guide				      Time::localtime(3pm)

NAME
Time::localtime - by-name interface to Perl's built-in localtime() function SYNOPSIS
use Time::localtime; printf "Year is %d ", localtime->year() + 1900; $now = ctime(); use Time::localtime; use File::stat; $date_string = ctime(stat($file)->mtime); DESCRIPTION
This module's default exports override the core localtime() function, replacing it with a version that returns "Time::tm" objects. This object has methods that return the similarly named structure field name from the C's tm structure from time.h; namely sec, min, hour, mday, mon, year, wday, yday, and isdst. You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding "tm_" in front their method names. Thus, "$tm_obj->mday()" corresponds to $tm_mday if you import the fields. The ctime() function provides a way of getting at the scalar sense of the original CORE::localtime() function. To access this functionality without the core overrides, pass the "use" an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the "CORE::" pseudo-package. NOTE
While this class is currently implemented using the Class::Struct module to build a struct-like class, you shouldn't rely upon this. AUTHOR
Tom Christiansen perl v5.8.0 2002-06-01 Time::localtime(3pm)
All times are GMT -4. The time now is 02:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy