$ cat serial.sh
awk '
BEGIN{
OFS="\t"
printf RS OFS "Enter Year till which you want to generate serial number : "
getline stop < "-"
printf OFS "Enter Output Filname : "
getline out < "-"
nonleap = "31,28,31,30,31,30,31,31,30,31,30,31"
leap = "31,29,31,30,31,30,31,31,30,31,30,31"
split(nonleap,NLP,",")
split(leap,LP,",")
if(!stop){printf RS "\t" "No User Input...Exiting" RS RS;exit }
}
function serial(start,m,d,y){
for(s=start;s<=100;s++)
if(out){
print y sprintf("%.2d",m) sprintf("%.2d",d) sprintf("%.3d",s) >out
}
else
{
print y sprintf("%.2d",m) sprintf("%.2d",d) sprintf("%.3d",s)
}
}
{
ser=substr($1,8,10)
day=substr($1,7,2)
mon=substr($1,5,2)
year=substr($1,0,4)
if(stop~/[A-Za-z]/){print "Year should be Integer...Exiting" RS;exit}
if(stop%1!=0){print "Year cannot be float...Exiting" RS;exit}
if(stop<year){print "Year should be Equal or Greater than Existing Serial Number...Exiting" RS;exit}
f=1
for(y=year;y<=stop;y++){
mon=(f==1)?mon:1
f=0
g=1
for(m=mon;m<=12;m++)
{
dend=((y%4==0) || (y%100==0) || (y%400==0))?LP[m]:NLP[m]
day=(g==1)?day:1
ser=(g==1)?ser:0
for(day=day;day<=dend;day++){serial(ser,m,day,y)}
g=0
}
}
}' file
Resulting
Code:
$ sh serial.sh
Enter Year till which you want to generate serial number : 2013
Enter Output Filname : test.txt
20131130098
20131130099
20131130100
20131201000
20131201001
20131201002
20131201003
20131201004
20131201005
20131201006
Every time we build an executable the date and time are put into the file, I need to run checksum on just the working lines.(IE, no header files)
Is this even possible, if so how would I go about it?
I am using a HP-UX server any help you can give me will be greatly appreciated.
Thanks (6 Replies)
Hello, I'm trying to retreive certain bits of info from a file.
the file contains a list like this
info1:info2:info3:info4
info1:info2:info3:info4
info1:info2:info3:info4
info1:info2:info3:info4
how do i pick out only info2 or only info3 without the others?
Thanks (11 Replies)
Hello,
I have a XML file as below and i would like to extract all the lines between <JOB & </JOB> for every such occurance. The number of lines between them is not fixed.
Anyways to do this awk?
============
<JOB APR="1" AUG="1" DEC="1" FEB="1" JAN="1" JUL="1" JUN="1" MAR="1" MAY="1"... (3 Replies)
hlow all,
i have file with wc -l file.txt is 3412112 line number
so I want to break these files into several parts with assumsi line
1-1000000 will be create part1.txt and
1000001-2000000 will create part2.txt and
2000001-3000000 will create part3.txt and
3000001-3412112 will create... (5 Replies)
I understand the individual pieces of the following (with one exception ..), but how does it all work as one?
find ${HOME}/reports/ -name surveyresult*.txt -exec ls -1 {} \; | /usr/xpg4/bin/grep -E \
"${HOME}/reports/surveyresult{14,14}.txt" | sort > ${ResultsFileList}
Find all files like... (1 Reply)
Hello All,
I have a file like this
Define schema flat_file_schema
(
a varchar(20)
,b varchar(30)
,c varchar(40)
);
(Insert into table (
a
,b
,c
) values
(
1
,2
,3
); (4 Replies)
Hello All,
I have a file like this
APPLY
( 'INSERT INTO brdcst_media_cntnt (
cntnt_id
,brdcst_media_cntnt_cd
,cntnt_prvdr_cd
,data_src_type_cd
,cntnt_titl_nm
,cntnt_desc
,batch_dt
,batch_id
) VALUES
(
:cntnt_id (3 Replies)
I am dealing with some app log, see example below:
22:16:13.601 ClientSession(905)--Connection(5)--SELECT GETDATE()
22:16:13.632 ClientSession(158)--Connection(5)--SELECT 1
22:16:13.632 ClientSession(848)--Connection(6735)--SELECT 1 So far I needed to collect certain column from it, such as... (3 Replies)
I have the string:
XXXX.YYYY_ZZZ.20180724.01.txt
I need to get rid of .txt and get full four parts
XXXX.YYYY_ZZZ.20180724.01
I did:
CTL=`echo XXXX.YYYY_ZZZ.20180724.01.txt | rev | cut -d"." -f4 | rev`
But got only YYYY_ZZZ
What should I do to get all four parts of that... (4 Replies)
Discussion started by: digioleg54
4 Replies
LEARN ABOUT PHP
sscanf
SSCANF(3) 1 SSCANF(3)sscanf - Parses input from a string according to a formatSYNOPSIS
mixed sscanf (string $str, string $format, [mixed &$...])
DESCRIPTION
The function sscanf(3) is the input analog of printf(3). sscanf(3) reads from the string $str and interprets it according to the specified
$format, which is described in the documentation for sprintf(3).
Any whitespace in the format string matches any whitespace in the input string. This means that even a tab in the format string can
match a single space character in the input string.
PARAMETERS
o $str
- The input string being parsed.
o $format
- The interpreted format for $str, which is described in the documentation for sprintf(3) with following differences:
o Function is not locale-aware.
o F, g, G and b are not supported.
o D stands for decimal number.
o i stands for integer with base detection.
o n stands for number of characters processed so far.
o $...
- Optionally pass in variables by reference that will contain the parsed values.
RETURN VALUES
If only two parameters were passed to this function, the values parsed will be returned as an array. Otherwise, if optional parameters are
passed, the function will return the number of assigned values. The optional parameters must be passed by reference.
If there are more substrings expected in the $format than there are available within $str, -1 will be returned.
EXAMPLES
Example #1
sscanf(3) Example
<?php
// getting the serial number
list($serial) = sscanf("SN/2350001", "SN/%d");
// and the date of manufacturing
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day
";
?>
If optional parameters are passed, the function will return the number of assigned values.
Example #2
sscanf(3) - using optional parameters
<?php
// get author info and generate DocBook entry
$auth = "24 Lewis Carroll";
$n = sscanf($auth, "%d %s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>
";
?>
SEE ALSO fscanf(3), printf(3), sprintf(3).
PHP Documentation Group SSCANF(3)