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:
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)
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)
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)
: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)
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)
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)
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)
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)
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
LEARN ABOUT DEBIAN
datetime
datetime(3) Library Functions Manual datetime(3)NAME
datetime - convert between TAI labels and seconds
SYNTAX
#include <datetime.h>
void datetime_tai(&dt,t);
datetime_sec datetime_untai(&dt);
struct datetime dt;
datetime_sec t;
DESCRIPTION
International Atomic Time, TAI, is the fundamental unit for time measurements. TAI has one label for every second of real time, without
complications such as leap seconds.
A struct datetime variable, such as dt, stores a TAI label. dt.year is the year number minus 1900; dt.mon is the month number, from 0
(January) through 11 (December); dt.mday is the day of the month, from 1 through 31; dt.hour is the hour, from 0 through 23; dt.min is the
minute, from 0 through 59; dt.sec is the second, from 0 through 59; dt.wday is the day of the week, from 0 (Sunday) through 6 (Saturday);
dt.yday is the day of the year, from 0 through 365.
The datetime library supports more convenient TAI manipulation with the datetime_sec type. A datetime_sec value, such as t, is an integer
referring to the tth second after the beginning of 1970 TAI. The first second of 1970 TAI was 0; the next second was 1; the last second of
1969 TAI was -1. The difference between two datetime_sec values is a number of real-time seconds.
datetime_tai converts a datetime_sec to a TAI label.
datetime_untai reads a TAI label (specifically dt.year, dt.mon, dt.mday, dt.hour, dt.min, and dt.sec) and returns a datetime_sec.
SEE ALSO now(3)datetime(3)