Sponsored Content
Top Forums Shell Programming and Scripting Merge column headers and transpose Post 302737719 by vgersh99 on Thursday 29th of November 2012 12:15:30 PM
Old 11-29-2012
Code:
awk '
 NR==1 {   n=split($0,h,FS)   print $1, "TF"   next } 
{   for(i=2;i<=n;i++)     print $1 h[i], $i }' myFile

and with myFile:
Code:
gene TF1 TF2 TF3 TF4
gene1 1 2 3 4
gene2 1 1 4 4
gene3 1 2 3 3
gene4 1 2 3 4
gene5 1 2 1 3
gene6 2 2 1 2
gene7 3 3 1 3
gene8 2 3 1 4

produces the following:
Code:
gene TS
gene1TF1 1
gene1TF2 2
gene1TF3 3
gene1TF4 4
gene2TF1 1
gene2TF2 1
gene2TF3 4
gene2TF4 4
gene3TF1 1
gene3TF2 2
gene3TF3 3
gene3TF4 3
gene4TF1 1
gene4TF2 2
gene4TF3 3
gene4TF4 4
gene5TF1 1
gene5TF2 2
gene5TF3 1
gene5TF4 3
gene6TF1 2
gene6TF2 2
gene6TF3 1
gene6TF4 2
gene7TF1 3
gene7TF2 3
gene7TF3 1
gene7TF4 3
gene8TF1 2
gene8TF2 3
gene8TF3 1
gene8TF4 4

this matches exactly your desired output.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing Headers and a Column

I have a text file in unix with a layout like this Column 1 - 1-12 Column 2 - 13-39 Column 3 - 40-58 Column 4 - 59-85 Column 5 - 86-120 Columbn 6 - 121-131 The file also has a header on the first 6 lines of each page. Each page is 51 lines long. So I want to remove the header from each... (30 Replies)
Discussion started by: DerangedNick
30 Replies

2. Shell Programming and Scripting

Excel Column Headers

cat ABC.log | egrep "Error 500" >> /tmp/Logs.log egrep "<Mango>.*<.Mango>" Logs.log | sed -e "s/^.*<Mango/<Mango/" | cut -f2 -d">"| cut -f1 -d"<" >> /tmp/temp1.xls egrep "<Apple>.*<.Apple>" Logs.log | sed -e "s/^.*<Apple/<Apple/" | cut -f2 -d">"| cut -f1 -d"<" >> /tmp/temp2.xls print Heading1,... (1 Reply)
Discussion started by: pk_eee
1 Replies

3. UNIX for Dummies Questions & Answers

Sort by Column Headers

Hi All, I am new to UNIX can you please help me to sort a file with different columns my file looks like this $ cat gaut.txt UID PID PPID PGID SID C STIME TTY TIME CMD liveuser 3008 2892 3008 3008 0 11:58 ? 00:00:00 gnome-session liveuser 3019 1 ... (8 Replies)
Discussion started by: cgk1983
8 Replies

4. Shell Programming and Scripting

Transpose multipe columns to rows and adding headers

Hi, I found the following awk script to transpose multiple (3) columns to multiple rows: #=== BEGIN {FS=","} { for (i=1;i<=NF;i++) { arr=$i; if(nf<= NF) nf=NF; } nr=NR } END { for(i=1;i<=nf;i++) { (8 Replies)
Discussion started by: Gery
8 Replies

5. Shell Programming and Scripting

Merge Multiple Files and Transpose

Looking to join three files and then transpose some columns from multiple rows into a single row. File Info: FIELD TERMINATED BY '^' ENCLOSED BY '~' LINE TERMINATED BY '\r\n' FIRST FILE (FOOD_DES.txt) ~01001~^~0100~^~Butter, salted~^~BUTTER,WITH... (2 Replies)
Discussion started by: mkastin
2 Replies

6. Shell Programming and Scripting

Transpose field names from column headers to values in one column

Hi All, I'm looking for a script which can transpose field names from column headers to values in one column. for example, the input is: IDa;IDb;IDc;PARAM1;PARAM2;PARAM3; a;b;c;p1val;p2val;p3val; d;e;f;p4val;p5val;p6val; g;h;i;p7val;p8val;p9val; into the output like this: ... (6 Replies)
Discussion started by: popesk
6 Replies

7. Shell Programming and Scripting

Transpose from 2nd column till the last column

Hi I have 5 columns like this a b c d e f g h i j k l m n o From 2nd column till the 5th column of every record, I would like to transpose them as rows, so my output file contains only one row a b c d e f g h i j (9 Replies)
Discussion started by: jacobs.smith
9 Replies

8. Shell Programming and Scripting

Transpose Second column only

Hi Folks, My input file is like this cat input abcd:efgh:jklm 123,456,67,78,89,90 hi:kil:op 76,78,12,3456, unix:linux:shell:bash 111,111 My expected output abcd:efgh:jklm hi:kil:op unix:linux:shell:bash 123 76 111 456 78 111 67 12 78 3456 89 90 (5 Replies)
Discussion started by: jacobs.smith
5 Replies

9. Shell Programming and Scripting

Merge csvs with column headers

hello gurus, Somebody must have done this before, I couldn't find anything. Please redirect me if this was solved before, and if not please help. To the problem now, I have multiple csv files (about 1000) which I need to concatenate by column header. The final file should have a superset... (4 Replies)
Discussion started by: abh.kumar
4 Replies

10. Shell Programming and Scripting

Transpose from row to column using timestamp in first column

Gents, Transpose from row to column, taking in consideration the first column, which contends the date. Input file 72918,111000009,111000009,111000009,111000009,111000009,111000009,111000009,111000009,111000009 72918,2356,2357,2358,2359,2360,2361,2362,2363,2364 72918,0,0,0,0,0,0,0,0,0... (12 Replies)
Discussion started by: jiam912
12 Replies
vga_addtiming(3)						Svgalib User Manual						  vga_addtiming(3)

NAME
vga_guesstiming - calculate a timing line for the given resolution SYNOPSIS
#include <vga.h> int vga_guesstiming(int x, int y, int clue, int arg); DESCRIPTION
Calculates a timing line for a x*y resolution, according to the value of clue. CALCULATION METHODS
If clue is 0, then the aspect ratio for the requested mode ( x:y ) must be 4:3. A mode with the same aspect ratio closest to the requested, while still having a higher resolution is found, and then scaled down to the requested mode. If clue is 1, then the aspect ratio for the requested mode ( x:y ) must be 4:3. A mode with the same aspect ratio closest to the requested, while still having a lower resolution is found, and then scaled down to the requested mode. BUGS
No guarantee that a modeline will be created, or that a created modeline will be usefull is given. SEE ALSO
vga_addmode(3) vga_addtiming(3) addmodetest(6) AUTHOR
This manual page was written by Matan Ziv-Av Svgalib (>;= 1.4.0) 7 April 1999 vga_addtiming(3)
All times are GMT -4. The time now is 09:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy