Sponsored Content
Top Forums Shell Programming and Scripting Extract columns based on header Post 302797509 by Don Cragun on Monday 22nd of April 2013 05:10:38 PM
Old 04-22-2013
Quote:
Originally Posted by aec
Hi,

I have a file like (no header, two columns):

Code:
sample1 A
sample2 B
sample3 B
sample4 C
sample5 A
sample6 D
sample7 D
....

I have another file like (with header, multiple rows and cols, each sample has 3 values a,b,c):

(no header first 3 cols)
Code:
sample1 sample2 sample3 
chr start end a1 b1 c1 a2 b2 c2 a3 b3 c3 ....
chr start end ....

If second field in file1 matches B or D, then extract columns with that sample.

Example of output:
(no header first 3 cols)
Code:
sample2 sample3 sample6 sample7
chr start end a2 b2 c2 a3 b3 c3 a6 b6 c6 a7 b7 c7 
chr start end ....

Thanks,

---------- Post updated at 08:06 PM ---------- Previous update was at 06:32 PM ----------

thanks for editing my post and write it in code tags
I don't understand your sample. Your "another file" is described two ways:
Code:
(with header, multiple rows and cols, each sample has 3 values a,b,c)

and
Code:
(no header first 3 cols)

and I don't see any way to turn:
Code:
sample2 B
sample3 B
sample6 D
sample7 D

into:
Code:
sample2 sample3 sample6 sample7
chr start end a2 b2 c2 a3 b3 c3 a6 b6 c6 a7 b7 c7 
chr start end ....

nor why you describe this as:
Code:
(no header first 3 cols)

when the 1st line sort of looks like a header and the 2nd line has 15 columns.

The .... doesn't appear to be a literal string, but I can't figure out what additional data you want if the .... is intended to be an ellipsis indicating that more data is to follow.

Please try again to clearly explain how the input files are to be transformed into the output you want.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract columns where header matches a given string

Hi, I'm having trouble pulling out columns where the headers match a file of key ID's I'm interested in and was looking for some help. file1.txt I Name 34 56 84 350 790 1215 1919 7606 9420 file2.txt I Name 1 1 2 2 3 3 ... 34 34... 56 56... 84 84... 350 350... M 1 A A A A... (20 Replies)
Discussion started by: flotsam
20 Replies

2. UNIX for Dummies Questions & Answers

Printing columns with header

Hi Gurus, I want to extract certain columns from file 2 and combine with file 1. I am using the following script to extract the columns. $ awk 'FNR>1{print $2, $9, FILENAME}' *.lim > out1 However, this script does not print the titles of the columns 2 and 9. Can somebody help me in... (1 Reply)
Discussion started by: Unilearn
1 Replies

3. Shell Programming and Scripting

Compare 2 csv files by columns, then extract certain columns of matcing rows

Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns. I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies

4. UNIX for Dummies Questions & Answers

Extract columns based on the first line of each column

Sorry to bother you guys again. I have a file1 with multiple columns like this:gga_miR_100 gga_miR_300 gga_miR_3500 gga_miR_4600 gga_miR_5600 gga_miR_30 gga_miR_500 kj rwg ghhh jy jyu we vf 5g 5hg h6 56h i8 45t 44r4 4bg 4r546 9lgtr (fer) 4fr f433 3feev f4 bf4 35g vfr ge 2rr ... (5 Replies)
Discussion started by: yuejian
5 Replies

5. Shell Programming and Scripting

Make copy of text file with columns removed (based on header)

Hello, I have some tab delimited text files with a three header rows. The headers look like, (sorry the tabs look so messy). index group Name input input input input input input input input input input input... (9 Replies)
Discussion started by: LMHmedchem
9 Replies

6. Shell Programming and Scripting

Add new columns based on existing columns

Hi all, I am kind of stuck with printing my desired output. Please help me if you know how it can work. My input file(tab separated): NW_0068.1 41,16 100,900 NW_0699.1 4,2,19 200,700,80 My Output file (desired): NW_0068.1 41,16 100,900 100 - 141 NW_0068.1 41,16 100,900 ... (3 Replies)
Discussion started by: sam_2921
3 Replies

7. Emergency UNIX and Linux Support

Average columns based on header name

Hi Friends, I have files with columns like this. This sample input below is partial. Please check below for main file link. Each file will have only two rows. ... (8 Replies)
Discussion started by: jacobs.smith
8 Replies

8. UNIX for Beginners Questions & Answers

Keep only columns in first two rows based on partial header pattern.

I have this code below that only prints out certain columns from the first two rows (doesn't affect rows 3 and beyond). How can I do the same on a partial header pattern “G_TP” instead of having to know specific column numbers (e.g. 374-479)? I've tried many other commands within this pipe with no... (4 Replies)
Discussion started by: aachave1
4 Replies

9. Shell Programming and Scripting

Find columns in a file based on header and print to new file

Hello, I have to fish out some specific columns from a file based on the header value. I have the list of columns I need in a different file. I thought I could read in the list of headers I need, # file with header names of required columns in required order headers_file=$2 # read contents... (11 Replies)
Discussion started by: LMHmedchem
11 Replies

10. Shell Programming and Scripting

To extract certain columnns with header

Hi, I have data which has many columns but i need to extract only three column from below all records have one space in begining. i need to extract only column as below ,any tric awk or sed trick?, please advise. cloumn no : 3 : ORD NO coulmn no : 6: P A R T N U M B E R coulmn no : 9 :... (7 Replies)
Discussion started by: Riverstone
7 Replies
All times are GMT -4. The time now is 01:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy