Visit Our UNIX and Linux User Community


Check Column corresponding to input


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Check Column corresponding to input
# 1  
Old 07-12-2013
Check Column corresponding to input

I have a file which extracts data from an HTML file
For Eg HTML file contains:
Code:
New York;ABC;145;Yes;YES;No
New York;BCD;113;Yes;YES;No
New York;NAS;63;Yes;YES;No
------------------------
London-48;CBT;16;Yes;YES;No
London-48;CME;17;Yes;YES;No
London-48;EUR;52;Yes;YES;No
London-48;EUR;188;Yes;YES;No
London-48;USx;66;Yes;YES;No
London-48;AMS;172<BR>178;Yes<BR>Yes;YES<BR>YES;no<BR>no
London-48;LIFE;172<BR>174<BR>178;Yes<BR>Yes<BR>Yes;YES<BR>YES<BR>YES;no<BR>no<BR>no
London-48;EUEd;175;Yes;YES;no
London-48;FOXN;177;Yes;YES;no
London-48;BIRD;177;Yes;YES;no
London-48;MOND;177;Yes;YES;no
London-48;EUI;174;Yes;YES;no
London-48;XEC;15;Yes;No;No
London-48;BRUS;95;Yes;No;No
London-48;NYMC;15;Yes;No;No
-----------------------------
London-47;WBOx;28;Yes;YES;No
London-47;BCD;20;Yes;No;No
London-47;MCe;89;Yes;YES;No
London-47;DUBL;87;Yes;YES;No
London-47;CIHX;34;Yes;YES;No
London-47;Ctaf;203;Yes;No;No
London-47;LUXA;95;Yes;YES;No
London-47;LUXB;95;Yes;YES;No
London-47;LUXP;95;Yes;YES;No
London-47;NEBX;95;Yes;YES;No
London-47;NXEL;95;Yes;YES;No
London-47;misc;95;Yes;YES;No
London-47;BXNJ;95;Yes;YES;No
London-47;LANT;95;Yes;YES;No
London-47;LANB;95;Yes;YES;No
London-47;MASD;95;Yes;YES;No
London-47;BRUS;95;Yes;YES;No
London-47;LISB;95;Yes;YES;No
London-47;LIST;95;Yes;YES;No
London-47;PARF;95;Yes;YES;No
London-47;JSEB;31;Yes;YES;No
London-47;LoND;33;Yes;YES;No

As a TXT file, it gets:

It is in the format of
Code:
Server;Country;Num;Data1;Data2;Data3

If there are multiple Num column, then it is in the format

Code:
Server;Country;<BR>Num1</BR><BR>Num2</BR>;Data1ofNum1<BR>Data1ofNum2;Data2ofNum1<BR>Data2ofNum2;Data3ofNum1<BR>Data3ofNum2

Now I need to write a uniq script where the user needs to find a server which has routing and Data2 lets say:

FOR EG of entered data: BRUS Data2

I want to see if data 2 + BRUS is available on a server, it should return London-47, London-48

but the problem is that the txt file grabs data per column and not by row.

If this question is not so clear please inform me.

Last edited by newkid.7955; 07-17-2013 at 11:14 AM..
# 2  
Old 07-12-2013
Not so clear. Can you have more or less than two countries on a server? Will it always be multiples of four entries per service? Can you have more than one service on a server?

And, last but not least: your TXT file does not match what you call the HTML file.
# 3  
Old 07-14-2013
Perhaps something like this?
Code:
awk -F';' 'BEGIN {offset=2}
{rows=(NF-offset)/4}
$2==service {
 for (i=1;i<=rows;i++) {
  country=offset+i; datn=country+rows*data
  if ($datn=="Yes") print $1,$2,$country,$datn
 }
}' service=routing data=2 file.txt

# 4  
Old 07-15-2013
@RudiC:
Q:Can you have more or less than two countries on a server?
A: Yes it is possible to have more than just two

Q: Will it always be multiples of four entries per service?
A: Yes. Please see the detailed format on the below thread.

Q: Can you have more than one service on a server?
A: Yes. Lets say that the above example belongs to a MasterServer1. There can be a MasterServer2 with the same/different services.

Q: your TXT file does not match what you call the HTML file
A: Exactly, that is my problem. Because my script is reading each column on the HTML file and not each row. That is also a source of my problem.

Last edited by newkid.7955; 07-19-2013 at 06:14 AM..
# 5  
Old 07-15-2013
In above sample, I see
a) one service per server
b) server and service always on one single line
c) two countries per server/service.

Please post a meaningful sample file to be worked upon with all kinds of server/service/data combinations. Not sure that MadeInGermany's proposal will work if a new service comes up for an already known server that itself does not show up in the same line.
# 6  
Old 07-17-2013
This is the sample of my txt file...
Code:
New York;ABC;145;Yes;YES;No
New York;BCD;113;Yes;YES;No
New York;NAS;63;Yes;YES;No
------------------------
London-48;CBT;16;Yes;YES;No
London-48;CME;17;Yes;YES;No
London-48;EUR;52;Yes;YES;No
London-48;EUR;188;Yes;YES;No
London-48;USx;66;Yes;YES;No
London-48;AMS;172<BR>178;Yes<BR>Yes;YES<BR>YES;no<BR>no
London-48;LIFE;172<BR>174<BR>178;Yes<BR>Yes<BR>Yes;YES<BR>YES<BR>YES;no<BR>no<BR>no
London-48;EUEd;175;Yes;YES;no
London-48;FOXN;177;Yes;YES;no
London-48;BIRD;177;Yes;YES;no
London-48;MOND;177;Yes;YES;no
London-48;EUI;174;Yes;YES;no
London-48;XEC;15;Yes;No;No
London-48;NYMC;15;Yes;No;No
-----------------------------
London-47;WBOx;28;Yes;YES;No
London-47;BCD;20;Yes;No;No
London-47;MCe;89;Yes;YES;No
London-47;DUBL;87;Yes;YES;No
London-47;CIHX;34;Yes;YES;No
London-47;Ctaf;203;Yes;No;No
London-47;LUXA;95;Yes;YES;No
London-47;LUXB;95;Yes;YES;No
London-47;LUXP;95;Yes;YES;No
London-47;NEBX;95;Yes;YES;No
London-47;NXEL;95;Yes;YES;No
London-47;misc;95;Yes;YES;No
London-47;BXNJ;95;Yes;YES;No
London-47;LANT;95;Yes;YES;No
London-47;LANB;95;Yes;YES;No
London-47;MASD;95;Yes;YES;No
London-47;BRUS;95;Yes;YES;No
London-47;LISB;95;Yes;YES;No
London-47;LIST;95;Yes;YES;No
London-47;PARF;95;Yes;YES;No
London-47;JSEB;31;Yes;YES;No
London-47;LoND;33;Yes;YES;No

It is in the format of Server;Country;Num;Data1;Data2;Data3

If there are multiple Num column, then it is in the format
Code:
Server;Country;<BR>Num1</BR><BR>Num2</BR>;Data1ofNum1<BR>Data1ofNum2;Data2ofNum1<BR>Data2ofNum2;Data3ofNum1<BR>Data3ofNum2


Last edited by Scott; 07-17-2013 at 10:05 AM.. Reason: Code tags, please...
# 7  
Old 07-17-2013
This is quite different from what you posted in post #1. Where/what is the service, presented in post#1, missing in post #6? What is num, appearing suddenly in post #6? Where ist the country, and where is the 4-item-structure you confirmed in post #4?
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #709
Difficulty: Easy
In Linux, the 'useradd' command is a utility that is used for adding user accounts in Linux and other Unix-like operating systems.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search last column of INPUT.txt in TABLEs text and add correspond columns to INPUT.txt

Hi dears i use bash shell i have INPUT.txt like this number of columns different in one some row have 12 , some 11 columns see last column INPUT.txt CodeGender Age Grade Dialect Session Sentence Start End Length Phonemic Phonetic 63 M 27 BS/BA TEHRANI 3 4 298320 310050... (2 Replies)
Discussion started by: alii
2 Replies

2. Shell Programming and Scripting

Check first column - average second column based on a condition

Hi, My input file Gene1 1 Gene1 2 Gene1 3 Gene1 0 Gene2 0 Gene2 0 Gene2 4 Gene2 8 Gene3 9 Gene3 9 Gene4 0 Condition: If the first column matches, then look in the second column. If there is a value of zero in the second column, then don't consider that record while averaging. ... (5 Replies)
Discussion started by: jacobs.smith
5 Replies

3. Shell Programming and Scripting

Check whether input is numeric

Hello there, find below for my code first: $pdp_asaba=`cat /tmp/temp_total | grep asaba | sed 's/*//g'` if ]] then pdp_asaba=0 fi $pdp_abuja=`cat /tmp/temp_total | grep abuja | sed 's/*//g'` if ]] then pdp_abuja=0 fi $pdp_ojota=`cat /tmp/temp_total | grep ojota | sed 's/*//g'` if ... (3 Replies)
Discussion started by: infinitydon
3 Replies

4. Shell Programming and Scripting

Check user input

Hi, I need my script to check if the user enters 3 values if not 5 values to my script and alert if the input has any other number of values. for example: ./myscript.sh 22 56 3221 - > correct ./myscript.sh 22 56 3221 45 777 -> correct ./myscript.sh 22 56 3221 45 -> incorrect Please... (6 Replies)
Discussion started by: mohtashims
6 Replies

5. Shell Programming and Scripting

Input file check

Hi, I have a script which runs daily. It gets 3 input files test1,test2,test3. I want to do a validation in my script to make sure i have all the 3 files available before running. If any one of the file is missing i want to break the script. Could you please help me with this request. ... (1 Reply)
Discussion started by: Krrishv
1 Replies

6. Programming

How to check an input variable

Suppose we have a simple situation, like the following C++ instructions: int x; cout << "Insert x: "; cin >> x; while ( x-- < 0 ) ; Of course, if it is written something different from an integer, the while loop shall not end. So, how can we check if the input x is of the right type? (2 Replies)
Discussion started by: Luke Bonham
2 Replies

7. Shell Programming and Scripting

How to check Null values in a file column by column if columns are Not NULLs

Hi All, I have a table with 10 columns. Some columns(2nd,4th,5th,7th,8th and 10th) are Not Null columns. I'll get a tab-delimited file and want to check col by col and generate seperate error code for each col eg:102 if 2nd col value is NULL and 104 if 4th col value is NULL so on... I am a... (7 Replies)
Discussion started by: Mandab
7 Replies

8. UNIX for Dummies Questions & Answers

check the input

how to check whether a given input is a number or a string? (1 Reply)
Discussion started by: Shilpi
1 Replies

9. Shell Programming and Scripting

Check on Input

HI all, I would like to know how the user can be restricted for entering only the number and not characters in sheel scripts.. Suppose code is like this echo 'Enter the number' read Value Now user may enter 'a' as value... But i want to disallow him for entering characters other than... (3 Replies)
Discussion started by: dhananjaysk
3 Replies

10. Shell Programming and Scripting

What can i do to check that the input is all alphabet.. ?

What can i do to check that the input is all alphabet.. ? (4 Replies)
Discussion started by: XXXXXXXXXX
4 Replies

Featured Tech Videos