I have not get much answer/solution for the posting. Here I break down the question and hope to get some help.
1. How can I use AWK to read in two records at the same time and keep loop to next two when the condition is meet?
position 1-10 --> Unique to identity whether there is secondary record or not
--> If there is more than one record with the same value for this portion,
it means there is secondary record;
otherwise, there is only primary record
position 11 ---> 0 means the record is the secondary
1 means the record is the primary
Output file ----> starting from position 12
Segment definition --->starting from position 36 (TTTT)
XXXX###
XXXX---> Segment ID 4 bytes , eg TTTT or SH01
### ---> Total length of segment 020 means segment is 20 bytes long
See below string has two segment,
first one id is TTTT and length is 15 bytes long;
second one is is SH01 and length is 8 bytes long
TTTT015cvsdbfffSH01008X
ENDS segment format --->ENDS010###
ENDS010 --> segment id and length
### represents the total number of segment in current records.
For example ENDS010004 means there is 4 segments in the record including ENDS010 segment
-----------------
rules
1. if group by position 1-10 have one record, then reformat the string by cutting off first 11 bytes and output
2. if group by position 1-10 have two record, then
for the record with value as 1 in position 11,
then reformat string by
a. cutting of the first 11 bytes
b. recount the number of segments
c. append ENDS010### segment at the end of string
for the record with values as 0 in position 11,
then reformat string by
a. cut the first two segments from primary records and append them at the beginning of the output string
b. recount the number of segments
c. append ENDS010### segment at the end of string
----------------
Attached are two example files, one for input and one for output
All,
I have a task to search through several hundred files and extract duplicate detail records and keep them grouped with their header record. If no duplicate detail record exists, don't pull the header. For example, an input file could look like this:
input.txt
HA
D1
D2
D2
D3
D4
D4... (17 Replies)
Hi,
I have one huge record and know that each record in the file is 550 bytes long. How do I parse out individual records from the single huge record.
Thanks, (4 Replies)
Hi,
I got a file which is one huge record. I know each record should be 550 bytes long. How do I parse out the records from the one huge record. (1 Reply)
I have a file temp.dat. The contents of this file is as follows
abcdefgh
abcdefgh
abcdefgh
abcdefgh
abcdefgh
abcdefgh
The multiple records in this file needs to be converted in to a single record.
abcdefgh abcdefgh abcdefgh abcdefgh abcdefgh abcdefgh (2 Replies)
Hi All,
I have a *.csv files in a die /pro/lif/dow, (pipe delimiter file), these files are having 8 columns and 6 column(CDR_LOGIC) records are populated as below, I need to incorporate the below logic in all the *.csv files.
11||:ColumnA||:ColumnB
123||:ColumnA
IIF(:ColumnA = :ColumnC then... (6 Replies)
Hi Friends,
source
....
col1,col2,col3
a,b,1;2;3
here colom delimeter is comma(,).
here we dont know what is the max length of col3 means now we have 1;2;3 next time i will receive 1;2;3;4;5;etc...
required output
..............
col1,col2,col3
a,b,1
a,b,2
a,b,3
please give me... (5 Replies)
I need to make one record to multiple records based on occurence column in the record and change the date.For example below first record has 5 ,so need to create 5 records from one and change the date to 5 months.Occurence can be any number.
I am unable to come with a script.Can some one help
... (5 Replies)
Hi,
I have one tab delimited file which is having multiple store_ids in first column seprated by pipe.I want to split the file on the basis of store_id(separating 1st record in to 2 records ).
I tried some more options like below with using split,awk etc ,But not able to get proper output. can... (1 Reply)
Hi Everyone,
I have below record set. File is fixed widht file
101newjersyus 20150110
101nboston us 20150103
102boston us 20140106
102boston us 20140103
I need to group record based on first 3 letters in our case(101 and 102)
and sort last 8 digit in ascending order and print only... (4 Replies)
Hi,
I have a backup report that unfortunately has some kind of hanging indent thing where the first line contains one column more than the others
I managed to get the output that I wanted using awk, but just wanting to know if there is short way of doing it using the same awk
Below is what... (2 Replies)
Discussion started by: newbie_01
2 Replies
LEARN ABOUT REDHAT
net::dns::header
Net::DNS::Header(3) User Contributed Perl Documentation Net::DNS::Header(3)NAME
Net::DNS::Header - DNS packet header class
SYNOPSIS
"use Net::DNS::Header;"
DESCRIPTION
A "Net::DNS::Header" object represents the header portion of a DNS packet.
METHODS
new
$header = Net::DNS::Header->new;
$header = Net::DNS::Header->new($data);
Without an argument, "new" creates a header object appropriate for making a DNS query.
If "new" is passed a reference to a scalar containing DNS packet data, it creates a header object from that data.
Returns undef if unable to create a header object (e.g., if the data is incomplete).
print
$header->print;
Dumps the header data to the standard output.
string
print $header->string;
Returns a string representation of the header object.
id
print "query id = ", $header->id, "
";
$header->id(1234);
Gets or sets the query identification number.
qr
print "query response flag = ", $header->qr, "
";
$header->qr(0);
Gets or sets the query response flag.
opcode
print "query opcode = ", $header->opcode, "
";
$header->opcode("UPDATE");
Gets or sets the query opcode (the purpose of the query).
aa
print "answer is ", $header->aa ? "" : "non-", "authoritative
";
$header->aa(0);
Gets or sets the authoritative answer flag.
tc
print "packet is ", $header->tc ? "" : "not ", "truncated
";
$header->tc(0);
Gets or sets the truncated packet flag.
rd
print "recursion was ", $header->rd ? "" : "not ", "desired
";
$header->rd(0);
Gets or sets the recursion desired flag.
cd
print "checking was ", $header->cd ? "not" : "", "desired
";
$header->cd(0);
Gets or sets the checking disabled flag.
ra
print "recursion is ", $header->ra ? "" : "not ", "available
";
$header->ra(0);
Gets or sets the recursion available flag.
rcode
print "query response code = ", $header->rcode, "
";
$header->rcode("SERVFAIL");
Gets or sets the query response code (the status of the query).
qdcount, zocount
print "# of question records: ", $header->qdcount, "
";
$header->qdcount(2);
Gets or sets the number of records in the question section of the packet. In dynamic update packets, this field is known as "zocount" and
refers to the number of RRs in the zone section.
ancount, prcount
print "# of answer records: ", $header->ancount, "
";
$header->ancount(5);
Gets or sets the number of records in the answer section of the packet. In dynamic update packets, this field is known as "prcount" and
refers to the number of RRs in the prerequisite section.
nscount, upcount
print "# of authority records: ", $header->nscount, "
";
$header->nscount(2);
Gets or sets the number of records in the authority section of the packet. In dynamic update packets, this field is known as "upcount" and
refers to the number of RRs in the update section.
arcount, adcount
print "# of additional records: ", $header->arcount, "
";
$header->arcount(3);
Gets or sets the number of records in the additional section of the packet. In dynamic update packets, this field is known as "adcount".
data
$hdata = $header->data;
Returns the header data in binary format, appropriate for use in a DNS query packet.
COPYRIGHT
Copyright (c) 1997-2000 Michael Fuhr. All rights reserved. This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
SEE ALSO perl(1), Net::DNS, Net::DNS::Resolver, Net::DNS::Packet, Net::DNS::Update, Net::DNS::Question, Net::DNS::RR, RFC 1035 Section 4.1.1
perl v5.8.0 2002-10-12 Net::DNS::Header(3)