how to add a new column in an existing file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to add a new column in an existing file
# 1  
Old 01-15-2009
CPU & Memory how to add a new column in an existing file

Hi guys,

Please help me if u have some solution.

I have a file with three columns separated by ':' -
INPUT_FILE
C416722_2 : calin Dirigent : Dirigent
AC4174_6 : Jac : cal_co
TC4260_5 : [no : lin kite
BC426302_1 : [no : calin Dirigent lin
JC426540_3 : lin Pymo_bin : calin
TC428_3 : no7 cal_co : no7 cal_co

I need the output such that It contain four columns and column4 should contain combined words of column2 and column3 but uniq.
OUTPUT_FILE
C416722_2 : calin Dirigent : Dirigent : calin Dirigent
AC4174_6 : Jac : cal_co : Jac cal_co
TC4260_5 : [no : lin kite : [no lin kite
BC426302_1 : lin : calin Dirigent lin : calin Dirigent lin
JC426540_3 : lin Pymo_bin : calin : lin Pymo_bin calin
TC428_3 : no7 cal_co : no7 cal_co : no7 cal_co

Thanks in advance Smilie
# 2  
Old 01-15-2009
Try this:

Code:
awk ' BEGIN { FS=" : "; OFS=" : " } { if (index($2, $3) == 0) if (index($3, $2) == 0) column4 = $2 " " $3; else column4 = $3; else column4 = $2; print $0 " : " column4 }' foo

# 3  
Old 01-16-2009
Thanks angheloko Smilie . Its working perfect.
# 4  
Old 01-16-2009
below may help you a little, only issue is that the last column is not in original order, if not ok, you need to change it accordingly.

Code:
#!/usr/bin/perl
open FH,"<a.txt";
while(<FH>){
	chomp;
	my @tmp=split(" : ",$_);
	map {$hash{$_}++} split(" ",$tmp[1]);
	map {$hash{$_}++} split(" ",$tmp[2]);
	print $_," : ",join " ",keys %hash;
	print "\n";
	undef %hash;
}
close FH;

# 5  
Old 01-19-2009
Thanks summer_cherry. Order is not an issue.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Add current time stamp column in existing csv file

Hi , I want to add a new column 'current_time stamp' in my existing csv file with current time stamp for all the records.I tried something this but this is printing 0 with date & time and printed date one line above header.Please help awk -F "," 'BEGIN{ OFS="," } {$6=system("date... (5 Replies)
Discussion started by: netdbaind
5 Replies

2. Shell Programming and Scripting

Matching column then append to existing File as new column

Good evening I have the below requirements, as I am not an experts in Linux/Unix and am looking for your ideas how I can do this. I have file called file1 and file2. I need to get the second column which is text1_random_alphabets and find that in file 2, if it's exists then print the 3rd... (4 Replies)
Discussion started by: mychbears
4 Replies

3. Shell Programming and Scripting

Help with add existing file name as new data column in new output file

Input File 1 cat S1.txt MI0043 2731 miR-1 Input File 2 cat S4.txt MI006 310 CiR-1 MI057 10 CiR-24 MI750 5 CiR-24 Desired Output File 1 cat S1.txt.out MI0043 2731 miR-1 S1.txt Desired Output File 2 cat S4.txt.out MI006 310 CiR-1 S4.txt (3 Replies)
Discussion started by: perl_beginner
3 Replies

4. Shell Programming and Scripting

Increment existing column in file

Hi All, I have a file with 3 millions records in which 3rd column is same throughout say its value is 0 throughout.for example: Col1 Col2 Col3 Col4 A 1 0 5 B 2 0 6 C 3 0 7 D 4 0 9 I want my output as : Col1 Col2 Col3 Col4 A 1 ... (4 Replies)
Discussion started by: Pinky456
4 Replies

5. Shell Programming and Scripting

Add new column from another file in existing file

I have two files which has one column comman in them. The two files has exact same number of rows in the same sequence. I want to add the second column of Users_detail_servicesonly.txt as last column in the existing file. 1) Users_detail_complete.txt V0135 Memb Info ... (4 Replies)
Discussion started by: Sanjeev Yadav
4 Replies

6. Ubuntu

How to add a data column in existing file

Hi All I need to add a column on my existing data file. I know similar posts are there but none of them were meeting my requirement. My input is 1.20 3.44 4.88 5.11 4.99 3.22 1.89 3.89 2.90 Desired output 1 1.20 3.44 4.88 2 5.11 4.99 3.22 3 1.89 3.89 2.90 I will... (2 Replies)
Discussion started by: mahbub03
2 Replies

7. Shell Programming and Scripting

Adding a new column in a file with other existing columns

Hi All , Kindly help me with this soln awk '{printf "%s %7s \n", $1,$c}' infile where value of variable c I am externally giving input But executing the above command shows all the columns of infile where as I want only 1st column of infile and 2nd column should print value c (8 Replies)
Discussion started by: Pratik4891
8 Replies

8. Shell Programming and Scripting

How to rewrite a existing value in a column inside a file?

I am having 4 field in a file name age date status i want to update or rewrite a value of status with another value how it can be done i used awk & sed but it shows result but not updating in original file help me out... Thanks (4 Replies)
Discussion started by: ragavendar
4 Replies

9. Solaris

Add existing user into an existing group

Pre: no gpasswd/adduser there is just usermod can be used, also there is no -a option for usermod. How should I add a user into a group? (4 Replies)
Discussion started by: a2156z
4 Replies

10. Shell Programming and Scripting

Creating/ammending Name Column in existing .txt file

With the help of this forum, I have a script with the following output: chr7 27104483 27105154 chr7 27106872 27110789 chr7 27111956 27112830 chr7 27114388 27125180 chr7 27126966 27131260 chr7 27135440 27137796 which was created by the following script: awk '1 == NR || $NF >= 1000 {... (6 Replies)
Discussion started by: awknerd
6 Replies
Login or Register to Ask a Question