Good to hear, although I'm getting a syntax error at or near { with your above code. After correction, the output doesn't quite look like the desired one in yur post #1.
Strong recommendation: Use - and stick to - a code structuring schema to your taste, like indenting and block building, for better readability, undaerstandability, and maintainability.
How about an approach like this one (adapt output field length if necessary):
Yes, Agreed from my version ,The achivement was partial then i used column command to realigned the column.
But this one really great.
Can you explain this code, So I can use it if similar kind of data processing needed.
regards,
Shanul
--- Post updated at 09:41 AM ---
Dear RudC,
Is it possible to insert extra column with your code which will count similar lines or similar lines in column. Like I am using seperate awk command as below.
MessageInformation AdditionalInfo MessageType Count
Location information cannot be obtained Unexpected Error from HLR Sh-Pull(UDR MSG) 17841
User not defined in AS Sh-Notif(PNR MSG) 9415
SLh Service could not be processed correctly User identity was not located in any serving node SLh LCS-Routing-Info 1005
Service could not be processed correctly Database access failure Sh-Update(PUR MSG) 1484
AVP error Missing AVP DIAMETER_MISSING_AVP 2061
Invalid Sequence Number Sh-Update(PUR MSG) 1046
Inconsistency between user identities User Identity does not correspond to Private identity Sh-Pull(UDR MSG) 98
It first gets the header and fields' definition into the COLS array, and the respective lengths into FLEN to be used when formatting the fields with the "dynamic" field wifth and precision specifiers in FMT. Then, the header is printed, supplemented by the "Count" field header.
In the main block, the actual line is searched, item by item, for the header keywords plus their values. The latter are extracted into a TMP variable and collected into the OUTput line. After the line is complete, a counter array is incremented.
In the END section, the counter array is printed, index (= output lines) first, then count values. Be aware that the order of the array element retrieval is undefined in awk.
This will solve all my issue for using multiple awk liner to process the output.
From above description i got the idea in general.
But if you can explain code line by line.. I mean each variable and method. It will be grateful.
As i need to use similar for processing many different data files with different headers and columns.
I am unable to loop print a python string array in my unix shell script:
~/readarr.sh '{{ myarr }}'
more readarr.sh
echo "Parameter 1:"$1
MYARRAY= $1
IFS=
MYARRAY=`python <<< "print ' '.join($MYARRAY)"`
for a in "$MYARRAY"; do
echo "Printing Array: $a"
done
Can you... (10 Replies)
In the below awk I am splitting $7 on the : and then counting each line or NM_xxxx. If the $1 value is the same for each line then print the $7 that occurs the most with the matching $1 value. The awk seems close but I am not sure what is going on. I included a description as well as to what I... (1 Reply)
I have test.sh file as below :
set -A IDARR $ID
echo | awk -f test.awk -v TempArr="${IDARR
}"
I have test.awk file as below :
BEGIN {
Flag = 1;
}
{
print "Hello";
for(i in TempArr)
{
print i;
}
} (9 Replies)
Hello,
May i please know how do i print the array using awk script. I am using below shell script to start with but not working.
#!/bin/bash
LOADSTATUS="Line 0"
LOADSTATUS="Line 1"
LOADSTATUS="Line 2"
LOADSTATUS="Line 3"
LOADSTATUS="Line 4"
awk '
BEGIN {
Your File Load Status
}... (1 Reply)
Hi,
i have the following code in which i am passing array tldn in awk using -v option & despite of that condition is not getting matched,can somebody suggest how to handle shell arrays in awk
tcount=(9875 9667)
awk -F"\t" -v ltldn="${tldn}" 'NR==FNR {POSTPAIDMDNS=$2"|"$3;next}
... (6 Replies)
Hi,
I am unable to assign value zero to my variable which is defined as unsigned char.
typedef struct ABCD
{
unsigned char abc;
unsigned char def;
unsigned char ghi;
} ABCD;
typedef ABCD *PABCD;
In my Por*C code, i assign the values using memcpy like below
... (3 Replies)
Hi all,
I been looking for a solution to the fact that when I use:
for (i=1; i<=NF; i++) print $ifields that are originally in a single line are printed in a single line
I have severals files for which the first 7 are the same, but the number of variables after that can vary, for example NF... (5 Replies)
I am beginner in awk
awk 'BEGIN{for(i=1;(getline<"opnoise")>0;i++) arr=$1}{print arr}'
In the above script, opnoise is a file, I am reading it into an array and then printing the value corresponding to index 20. Well this is not my real objective, but I have posted this example to describe... (19 Replies)
Hi,
I have two Sun Fire V490 with Solaris 10 5/08, FC switch and two Sun StorageTek 3500 FC arrays. Each array is connected to switch and to one server at a time. In the last week I installed Solaris 10 5/08 on both servers and set up Sun Cluster, version 3.2. At wednesday all was fine - all... (7 Replies)
Hi All,
Iam trying to set the value to the array... Still its not happening
Following is the code:
#!/usr/bin/ksh
filenames="x";
filenames="y";
echo $filenames;
echo $filenames;
O/P:
x
x
Iam expecting (2 Replies)