Rename a header column by adding another column entry to the header column name URGENT!!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename a header column by adding another column entry to the header column name URGENT!!
# 1  
Old 08-05-2011
Rename a header column by adding another column entry to the header column name URGENT!!

Hi All,

I have a file example.csv which looks like this
Code:
GrpID,TargetID,Signal,Avg_Num
CSCH74_1_1,2007,61,256
CSCH74_1_1,212007,647,679
CSCH74_1_1,12007,3,32
CSCH74_1_1,207,299,777

I want the output as
Code:
GrpID,TragetID,Signal-CSCH74_1_1,Avg_Num
CSCH74_1_1,2007,61,256
CSCH74_1_1,212007,647,679
CSCH74_1_1,12007,3,32
CSCH74_1_1,207,299,777

That is to say, the Signal header becomes Signal-CSCH74_1_1 using the 1st column entry.

Please help me urgently!!

Thanks

Last edited by Franklin52; 08-06-2011 at 05:48 PM.. Reason: Please use code tags for data and code samples, thank you
# 2  
Old 08-05-2011
Try:
Code:
awk -F, -vOFS="," 'NR==1{x=$0;next}NR==2{t=$0;c=$1;$0=x;$3=$3"-"c;$0=$0"\n"t}1' file

# 3  
Old 08-05-2011
Hi thanks a ton!..

could you explain me from the part NR==2? Pardon my knowledge.

Also, i have to do this with another 240 files where every file has a separate unique GrpID. Could you help me as to how can I use this for many such files?

Thank you again!
# 4  
Old 08-05-2011
Assuming your 240 files are in the current directory:
Code:
for i in *; do awk -F, -vOFS="," 'NR==1{x=$0;next}NR==2{t=$0;c=$1;$0=x;$3=$3"-"c;$0=$0"\n"t}1' $i > $i.tmp; mv $i.tmp $i; done

# 5  
Old 08-05-2011
Thank you thank you thank you.. you are so helpful!!.. I really appreciate your help!

Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sum of a column as new column based on header in a script

Hello, I am trying to store sum of a column as a new column inside a file but have to find the column names dynamically I/p c1,c2,c3,c4,c5 10,20,30,40,50 20,30,40,50,60 If i want to find sum only column c1, c3 and output it as c6,c7 O/p c1,c2,c3,c4,c5,c6,c7 10,20,30,40,50,30,70... (6 Replies)
Discussion started by: mkathi
6 Replies

2. UNIX for Dummies Questions & Answers

How can i substitute a header column?

Hi, I have a txt file with multiple columns and i want to substitute the header of the first column. Example: Seq. Name Seq. Length #Hits min. eValue mean Similarity #GOs GOs Enzyme Codes InterProScan comp1000201_c0_seq1 ---NA--- 337 0 0 - comp1000297_c0_seq1 ---NA--- 612 0 0 -... (4 Replies)
Discussion started by: alisrpp
4 Replies

3. Shell Programming and Scripting

Add Header to column

hello, can someone helpe me on below issue. i have a list of names and IDs, mick 3424 noah 134 samuel 787 jack 434 i want to add a head for both colum using awk or sed or any tool output NAME ID mick 3424 noah 134 samuel 787 (10 Replies)
Discussion started by: Sara_84
10 Replies

4. Shell Programming and Scripting

Print column header

Hi, Below is the data in a tab limited file Here ACCENT is just a heading and the line starting with Pcode has the column headers, and there is a 2 lines space between the file header and column header. I want to print $2, that is Dealer Name I used the below code nawk... (1 Reply)
Discussion started by: kedar_laveti
1 Replies

5. Shell Programming and Scripting

Reading column header

Hi, I have some 10 tab delimited flat files, for some files the column header starts from 1st row whereas for some other files the column header starts from row or row 3 or row4 and so on.... Is there any way in UNIX so that we can read the column headers dynamically.' I am new to UNIX, so... (12 Replies)
Discussion started by: kedar_laveti
12 Replies

6. Shell Programming and Scripting

Add column header and row header

Hi, I have an input like this 1 2 3 4 2 3 4 5 4 5 6 7 I would like to count the no. of columns and print a header with a prefix "Col". I would also like to count the no. of rows and print as first column with each line number with a prefix "Row" So, my output would be ... (2 Replies)
Discussion started by: jacobs.smith
2 Replies

7. UNIX for Dummies Questions & Answers

Rename a header column by adding another column entry to the header column name

Hi All, I have a file example.csv which looks like this GrpID,TargetID,Signal,Avg_Num CSCH74_1_1,2007,61,256 CSCH74_1_1,212007,647,679 CSCH74_1_1,12007,3,32 CSCH74_1_1,207,299,777 I want the output as GrpID,TragetID,Signal-CSCH74_1_1,Avg_Num CSCH74_1_1,2007,61,256... (1 Reply)
Discussion started by: Vavad
1 Replies

8. Shell Programming and Scripting

Column header

Hello all, We are trying to run a script in Oracle DB from AIX. We need to set the Column Header while executing the query to generate the Output. For eg. select city, name from emp; It need to generate report in .csv format as CITY NAME atla tom cincin jack How I... (1 Reply)
Discussion started by: velappangs
1 Replies

9. Shell Programming and Scripting

getting the column header in the output !

i have a script that access the database and then returns some row. but in the command prompt it it not showing the column header. how to get that ? below the script: ------------------------------------------------------------------------ #!/bin/ksh .... (4 Replies)
Discussion started by: ali560045
4 Replies

10. Shell Programming and Scripting

awk/sed column replace using column header - help

$ cat log.txt Name Age Sex Lcation nfld alias xsd CC 25 M XYZ asx KK Y BB 21 F XAS awe SS N SD 21 M AQW rty SD A How can I replace the column with header "Lcation" with the column with header "alias" and delete the "alias" column? so that the final output will become: Name Age Sex... (10 Replies)
Discussion started by: jkl_jkl
10 Replies
Login or Register to Ask a Question