---------- Post updated at 12:59 AM ---------- Previous update was at 12:58 AM ----------
@Don... Sorry for numerous updates . Trust me I was just trying to make it as clear as possible and I am done updating .. Sorry for inconvenience today.
Great. I am glad that you are done updating.
Now, please answer all of the questions I asked in post #6 in this thread. And, please give us a clear description of what fields need to be checked for all of the possible combinations that might appear in field #3 in your input.
This User Gave Thanks to Don Cragun For This Post:
@Don ...I have to answer your questions in blue color.
You have now told us what columns need to be added when column 3 is one of A, C, E, M, N, P, S, SE, or EAMS. And you have told us that column 3 can have numerous other values with absolutely no specification of what is supposed to happen in those cases. (Unless you have changed things again and I missed it.) column 3 can be any of these Values A, C, E, M, N, P, S or combinations of these characters eg. AS,SE,MP,PS,SAE,EAM, CEPS and more I updated the intial post yesterday to clarify what columns should be added when column 3 have any values among A, C, E, M, N, P, S. for the combination, code should check only common columns for all single character in combination. example 1- if Column 3 has value= E then check column 7,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= S then check column 8,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero. so if it is ES or SE, then code should check common columns which in this case are 9,10,11,12,13 and sum of these should zero.
example 2- if Column 3 has value= S then check column 8,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= A then check column 7,8,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= E then check column 7,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
so if column 3 Value is SAE, EAS,ASE, then code should check common columns which in this case are 10,11,12,13 and sum of these should zero.
Please give us a clear description of what needs to be done and then ask for help. I'm tired to trying to keep up with a constantly changing, incomplete description of what you want done.
You constantly state that a list of fields have to be added, but from your sample data that seems like a waste of time. Since none of your input fields seem to have negative values.
Row 4 in the INPUT file in which column 3 has Values SE , so code should check 9,10,11,12,13 columns and sum of should be zero which is not the case. Input:- COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 SMS Email AO Mail Post N Cell
FRUIT APPLE SE W 291 14 239 38 0 10 0 0 0 sum of the column 9+10+11+12+13 >0 in the above case. That's the reason output file has WARNING in the Newcolumn. Output:- COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 SMS Email AO Mail Post N Cell Newcolumn
FRUIT APPLE SE W 291 14 239 38 0 10 0 0 0 WARNING
can your script just add warning (which is what is in your description) or Warning (which is what is in your code) or WARNING (which is what is in your sample output) instead of Good (which is in your description) or Goodd (which is what is in your code) or GOOD (which is what is in your sample output) when any of the specified fields contains a non-zero value (instead of adding them all together and then looking for a non-zero sum)?
Updated it already in the initial post.
---------- Post updated at 11:20 AM ---------- Previous update was at 10:47 AM ----------
@Ravinder..Thank you for the code however for row number 4 and 6 the code should have output
COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 SMS Email AO Mail Post N Cell Newcolumn
FRUIT APPLE SE W 291 14 239 38 0 10 0 0 0 WARNING
FRUIT APPLE SEA W 808 58 663 87 488 20 0 0 0 WARNING
column 3 can be any of these Values A, C, E, M, N, P, S or combinations of these characters eg. AS,SE,MP,PS,SAE,EAM, CEPS and more
Mainly it would be in A ,E, M,P,S,C,N,AM,EA,EM,SC,SM,ES,SE ,AS,SA,ESA ,SEA, EMS,ESM,SEM ,SCE,SEC, EAM,SAM,EAMS,EASM,ESAM,SEAM,ESCM.
I updated the intial post yesterday to clarify what columns should be added when column 3 have any values among A, C, E, M, N, P, S.
for the combination, code should check only common columns for all single character in combination.
example 1-
if Column 3 has value= E then check column 7,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= S then check column 8,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
so if it is ES or SE, then code should check common columns which in this case are 9,10,11,12,13 and sum of these should zero.
example 2-
if Column 3 has value= S then check column 8,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= A then check column 7,8,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= E then check column 7,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
so if column 3 Value is SAE, EAS,ASE, then code should check common columns which in this case are 10,11,12,13 and sum of these should zero.
---------- Post updated at 11:26 AM ---------- Previous update was at 11:20 AM ----------
@Don ..One more update
I Dig more and found that the expected column 3 values would be either of these ::- A ,E, M,P,S,C,N,AM,EA,EM,SC,SM,ES,SE ,AS,SA,ESA ,SEA, EMS,ESM,SEM ,SCE,SEC, EAM,SAM,EAMS,EASM,ESAM,SEAM,ESCM.
however if the script is able to Calculate the values based on Dynamic combinations that would really helpful.
Thanks again
---------- Post updated at 01:28 PM ---------- Previous update was at 11:26 AM ----------
@Ravinder I have update the code you according to me. however it will work only if I know values of column $3 in advance.
Thank you. I was thinking if I can have more dynamic values.
@Ravinder I have update the code you according to me. however it will work only if I know values of column $3 in advance.
Thank you. I was thinking if I can have more dynamic values.
Hello Nina2910,
Let's say I have edited your Input_file as follows.
Then when I run my code posted in POST#3 as follows is the result.
So could you please let me know about following question's answers here.
i- Is above code working as per your expectations or not?
ii- So as per your requirements only strings AEMCSN or specific strings mentioned by you could be in $3, if this is true then in code for single character conditions are there(for different single character different fields we need to add and compare so they are different in conditions there), you have mentioned it needs to be more dynamic, could you please elaborate it more.
Please try to rephrase your requirements in a single post with code tags please, with sample Input_file and expected output sample too.
EDIT: BY seeing your try to edit my code got a little pulse of your objective here(may be), so could you try follwing and let us know if this helps you.
Thanks,
R. Singh
Last edited by RavinderSingh13; 09-28-2016 at 03:33 PM..
Reason: Added one more solution and checking with user on same too now.
This User Gave Thanks to RavinderSingh13 For This Post:
@Ravinder your code is partially satisfying the expectation.
I am stating the conditions again on which code will decide GOOD or WARNING for Single character Values of column 3 (A, C, E, M, N, P, S).
as column 3 can be any of these Values A, C, E, M, N, P, S or combinations of these characters eg. AS,SE,MP,PS,SAE,EAM, CEPS and more.The code should be able to Calculate the values based on Dynamic combinations.
for the combination, code should check only common columns for all single character in combination.
example 1-
if Column 3 has value= E then check column 7,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= S then check column 8,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero. so if it is ES or SE, then code should check common columns which in this case are 9,10,11,12,13 and sum of these should zero.
example 2-
if Column 3 has value= S then check column 8,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= A then check column 7,8,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero.
if Column 3 has value= E then check column 7,9,10,11,12,13 (values should be zero in each) and hence sum of these columns should be zero. so if column 3 Value is SAE, EAS,ASE, then code should check common columns which in this case are 10,11,12,13 and sum of these should zero.
---------- Post updated at 03:06 PM ---------- Previous update was at 02:54 PM ----------
@Rudi ...row 3,4,6 should have "WARNING" in the output file. I have fixed the my output file in post #1.
If you ignore the heading and start counting from the row after it, row 4 and 6 in my result HAVE "WARNING".
Are you sure that "P" and "N" need to ignore the SAME column (=11)? Or, shouldn't "N" ignore col 12?
I would like to compare values in column 8, and grep the ones where the different is > 1, columns 1 and 2 are the key for array.
Every 4 rows the records values in columns 1 and 2 changed. Then, the comparison in the column 8 need to be done for the 4 rows everytime columns 1 and 2 changed
... (4 Replies)
Dear Unix experts,
I have got a file where I would like to compare the values of second column if first column is same in such a way that the difference between the values is >50. If not, I would like to discard both values.
For example, my input file looks like -
comp275_c0_seq2 73... (7 Replies)
Hi all !
If there is only one single value in a column (e.g. column 1 below), then return this value in the same output column.
If there are several values in the same column (e.g. column 2 below), then return the different values separated by "," in the output.
pipe-separated input:
... (11 Replies)
- I have two files (File 1 and File 2) and the contents of the files are mentioned below.
- I am trying to compare the values of Column1 of File1 with Column1 of File2. If a match is found, print the corresponding value from Column2 of File1 in Column5 of File2.
- I tried to modify and use... (10 Replies)
Hi,
I have a table in unix from which i want to read the contents line by line, then filter out the values from 6th column one by one and compare it a fixed value.
How to do this? (7 Replies)
I would like to compare the values of 2nd column of consecutive lines of same file in such a way so that if the difference between first value and second value is more than 100 it should print complete line else ignore line.
Input File
==========
PDB 2500
RTDB 123
RTDB-EAGLE 122
VSCCP 2565... (4 Replies)
Hi All,
I have two files
file1:
abc,def,ghi,5,jkl,mno
pqr,stu,ghi,10,vwx,xyz
cba,ust,ihg,4,cdu,oqw
file2:
ravi,def,kishore
ramu,ust,krishna
joseph,stu,mike
I need two output files as follows
In my above example, each row in file1 has 6 fields and each row in file2 has 3... (1 Reply)
Hi All,
I have two files
file1:
abc,def,ghi,5,jkl,mno
pqr,stu,ghi,10,vwx,xyz
cba,ust,ihg,4,cdu,oqw
file2:
ravi,def,kishore
ramu,ust,krishna
joseph,stu,mike
I need two output files as follows
In my above example, each row in file1 has 6 fields and each row in file2 has 3... (1 Reply)
Hi,
I am new to unix and I need help in solving below mentioned issue, really appreciate ur help.
I have a file
sam, john, 2324, 07142007
tom, thomson, 2343, 07142007
john, scott, 2478, 07142007
its a comma delimited file, I need to extract the last column from each line and this... (4 Replies)