awk on multiple colums


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers awk on multiple colums
# 1  
Old 02-19-2016
awk on multiple colums

HI,

I need to filter my data based on 3 different columns.

Two of the columns are unique so it worked if u use something like

Code:
grep 'PASS.*HIGH|HIGH.*PASS' file.tsv

However the other column is not unique ..

So basically I want to extract out lines that match only match these 3 criteria : HIGH in column 1, PASS in column 2, 1 and 3 in column 3. Other columns also contain numbers that can include 1 and 3.

how can I use 'awk' on this ? the columns are separated by "\t"

Last edited by Scrutinizer; 02-19-2016 at 04:56 AM..
# 2  
Old 02-19-2016
Try:
Code:
awk -F'\t' '$1=="HIGH" && $2=="PASS" && ( $3==1 || $3==3 )' file

or do you mean:
Code:
awk -F'\t' '$1=="HIGH" && $2=="PASS" && $3~/1.*3|3.*1/' file

which could also be written as:
Code:
awk -F'\t' '$1=="HIGH" && $2=="PASS" && $3~/1/ && $3~/3/' file

or do you mean:
Code:
awk -F'\t' '$1=="HIGH" && $2=="PASS" && $3~/[13]/' file

which could also be written as:
Code:
awk -F'\t' '$1=="HIGH" && $2=="PASS" && ( $3~/1/ || $3~/3/ )' file


Last edited by Scrutinizer; 02-19-2016 at 05:07 AM..
This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 02-19-2016
Hello and welcome to the forum.

Have you done any appoaches yet?
Maybe with other tools?
Or must it be awk?

Is this a homework question?

Thank you
# 4  
Old 02-22-2016
Hi,

Thank you, the 4th code worked for me. No this is not a homework. Im a PhD student in cancer research and I'm analyzing sequencing result which is very big and normally excel would not be able to load this kind of data properly. As someone who has a very limited knowledge in programming, I tend to ask around which commands are useful to be applied in biological analysis. Cheers.
# 5  
Old 02-22-2016
It usually pays off to post adequate, representative (mayhap abbreviated) samples helping to describe the problem in more detail, so solutions can be neatly tailored.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Find the timestamp difference between two different colums in a file

Sample Input File 2014/10/09 CDE876172588765 00:09:45 00:10:10 200 200 11.7093 2014/10/09 CDE366134588757 01:04:34 01:04:54 210 210 9.8898 2014/10/09 CDE765172345745 03:05:46 03:06:01 100 100 10.0601 2014/10/09 ... (8 Replies)
Discussion started by: rpm120
8 Replies

2. Shell Programming and Scripting

Compare 2 colums in two files

Hi , I am trying to write a part in shell script. I have two files with one column each and would like to output it to a new file giving the records which are different.Pls help experts. File1 Column name 11 12 13 14 18 File2 Column name 11 12 14 17 19 (2 Replies)
Discussion started by: Rossdba
2 Replies

3. Shell Programming and Scripting

Reading colums from a text file

Hi all, I have a text file that has (4) columns. There are about 300 lines on this file. It is a plain text file. I am looking to write a simple script that will read each line from the file and generate another text file. The file looks something like this: These are the columns: ... (4 Replies)
Discussion started by: adamw
4 Replies

4. Shell Programming and Scripting

Help on convert rows to colums

Need help to convert the following data Account name: admin Role: admin Description: Administrator Enabled: Yes to Account Name Role Description Enabled admin admin Administrator Yes Perl or AWK? Thanks San (9 Replies)
Discussion started by: sanguy
9 Replies

5. Shell Programming and Scripting

Rearranging the colums in a tab delimited file

I want to rearrange some of my columns in my dat file; how do i do this using a script Suppose, I have an input file like this: BASENAME STREETTYPE PREFIX SUFFIX HOUSENUMBER BUILDUP ORDER8 ORDER2 ORDER1 ISOCOUNTRYCODE POSTALCODE SILVER LAKE RD NW 1135 NEW BRIGHTON RAMSEY MINNESOTA USA 55112... (4 Replies)
Discussion started by: ramky79
4 Replies

6. Solaris

awk - Print variable number of colums from a starting column

Hi guys, I usualy am able to google awk stuff but I can't find it so far and there are so many awking gurus here that I will give it a shot. I want to print $1;$3;"$5 up to the $NF". In other words, I can have 1000 colums, but need to have $5 up to the end. I started with the idea of... (2 Replies)
Discussion started by: plmachiavel
2 Replies

7. Shell Programming and Scripting

Need to print last column based on the value of first 2 colums

Hi Everybody. I need an urgent help, it would be great if somebody will help me out in this regard. See below sample file 1525 805 26 2036 219644. 2598293. 1525 805 126 2327 1525 805 226 ... (6 Replies)
Discussion started by: syahmed
6 Replies

8. Shell Programming and Scripting

Sorting a flat file based on multiple colums(using character position)

Hi, I have an urgent task here. I am required to sort a flat file based on multiple columns which are based on the character position in that line. I am restricted to use the character position instead of the space and sort +1 +2 etc to do the sorting. I understand that there is a previous... (8 Replies)
Discussion started by: cucubird
8 Replies

9. Shell Programming and Scripting

merging colums from different files

hi all , i have three files that contain numbes as the first column . i want to add these files together so the numbers from the first file is in the first column ; the numbers from the second file in the second column; and the numbers from the third file in the third column . as an... (5 Replies)
Discussion started by: ppass
5 Replies

10. Shell Programming and Scripting

[Shell] How make colums in text file ??

hi, i have little pb, i would like make a colums, but my server not recongize "\t" or i write wrong.... and iam little noobs and no know awk... #!/bin/ksh #---------------------------------------------------------------------------- # Fichiers : ctrl.sh et ctrl2005.txt ... (6 Replies)
Discussion started by: parola
6 Replies
Login or Register to Ask a Question