Awk: adding fields after matching $1


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Awk: adding fields after matching $1
# 8  
Old 11-04-2013
Thanks!!! It's a damn formatting issue. On Textwrangler and Fraise the files appear clean, but "head file | cat -ev" shows "^M" as file seperators in files saved on a Mac (and originating from a linux cluster).

Code:
test$ head 1.txt | cat -ev
TCONS_00001761;coding;2,18E-01^MTCONS_00004368;coding;8,83E-01^MTCONS_00009964;coding;1,78E-03^MTCONS_00006220;coding;3,94E-05^MTCONS_00025442;coding;1,17E-03^MTCONS_00022769;coding;8,06E-05^MTCONS_00028104;coding;1,04E-01^M...

test$ head 2.txt | cat -ev
TCONS_00000001;DDX11L1^MTCONS_00000001;DDX11L1^MTCONS_00000001;DDX11L1^MTCONS_00000002;OR4F5^MTCONS_00000004;LOC100133331^M...

Awk: adding fields after matching alt=-1jpg
Awk: adding fields after matching alt=-2jpg

Last edited by Scrutinizer; 11-05-2013 at 06:58 AM.. Reason: code tags
# 9  
Old 11-04-2013
Run:
Code:
tr -d '\r' < 1.txt > 1.txt.fixed
tr -d '\r' < 2.txt > 2.txt.fixed

This User Gave Thanks to bartus11 For This Post:
# 10  
Old 11-04-2013
Now I'm trying to get the "^M"-free file content back into columns.

Code:
TCONS_00001761;coding;2,18E-01;TCONS_00004368;coding;8,83E-01;TCONS_00009964;coding;1,78E-03;TCONS_00006220;coding;3,94E-05;TCONS_00025442;coding;1,17E-03;TCONS_00022769;coding;8,06E-05;TCONS_00028104;coding;1,04E-01;TCONS_00001332;coding;0.323523;TCONS_00019267;coding;3,00E-14;TCONS_00047499;coding;1,53E-01;TCONS_00036481;coding;3,00E-14;TCONS_00029157;coding;3,00E-14;TCONS_00006069;coding;3,24E-04;TCONS_00024502;coding;3,00E-14;TCONS_00028328;coding;2,21E-01;TCONS_00015161;noncoding;0.727496;TCONS_00033850;coding;5,49E-03;TCONS_00030020;noncoding;0.900574;TCONS_00003686;coding;0.00313452;TCONS_00042001;coding;3,77E-06;TCONS_00014006;coding;2,31E-03;TCONS_00039845;coding;0.0854184;TCONS_00006099;coding;8,96E-07;TCONS_00026444;noncoding;0.768354;TCONS_00013501;coding;6,58E-01;TCONS_00027619;coding;0.0326396;TCONS_00019013;coding;3,98E-06;TCONS_00030372;coding;3,00E-14;TCONS_00018101;coding;0.453702;TCONS_00014309;coding;3,42E-01;TCONS_00011427;coding;1,48E-05;TCONS_00046933;coding;1,86E-04;TCONS_00030752;coding;4,34E-04;TCONS_00029573;coding;0.02172;TCONS_00022475;coding;0.159075;TCONS_00025188;coding;6,35E-06;TCONS_00028360;coding;0.00379242;TCONS_00006622;coding;0.0117992;TCONS_00044979;coding;0.322987;TCONS_00029922;noncoding;0.975846;TCONS_00006000;noncoding;0.980548;TCONS_00028073;coding;3,00E-14;TCONS_00034565;coding;2,24E-05;TCONS_00042371;coding;3,93E-07;TCONS_00000095;coding;2,83E-02;TCONS_00006227;coding;2,32E-07;TCONS_00012737;coding;8,40E-06;TCONS_00026492;coding;2,68E-02;TCONS_00037061;coding;1,90E-04;TCONS_00037894;coding;1,93E-02;TCONS_00009621;noncoding;0.820937;TCONS_00046675;coding;2,56E-01;TCONS_00010598;coding;0.154984;TCONS_00019870;coding;5,02E-05;TCONS_00036710;coding;0.104934;TCONS_00004992;coding;3,00E-14;TCONS_00030192;noncoding;0.952787;TCONS_00032739;coding;0.119714;TCONS_00013170;coding;3,00E-14;TCONS_00011654;coding;0.345494;TCONS_00017338;coding;0.476682;TCONS_00044312;coding;0.0181988;TCONS_00010433;coding;2,18E-05;TCONS_00024244;coding;7,61E-02;TCONS_00012301;noncoding;0.993394;TCONS_00004278;coding;0.00276243;TCONS_00039637;noncoding;0.607583;TCONS_00036444;coding;3,00E-14;TCONS_00030146;coding;0.00364833;TCONS_00030592;coding;9,39E-03;TCONS_00011816;coding;2,91E-04;TCONS_00044901;coding;0.203805;TCONS_00002945;coding;0.48936;TCONS_00042063;coding;1,20E-08;TCONS_00028949;coding;1,11E-01;TCONS_00022958;coding;0.00317738;TCONS_00029883;coding;3,00E-14;TCONS_00026688;coding;0.0461262;TCONS_00027145;coding;0.0542434;TCONS_00005559;coding;4,60E-05;TCONS_00022170;coding;6,32E-03;TCONS_00016267;coding;0.0355581;TCONS_00047258;coding;2,21E-04;TCONS_00038771;coding;4,89E-10;TCONS_00040979;noncoding;0.971459;TCONS_00032362;coding;1,45E+00;TCONS_00031102;coding;0.0426105;TCONS_00024253;noncoding;0.806975;TCONS_00013717;coding;0.129065;TCONS_00025786;coding;7,29E-04;TCONS_00000435;coding;4,85E-02;TCONS_00032683;coding;7,94E-06;TCONS_00020668;coding;0.00324151;TCONS_00003583;noncoding;0.611441;TCONS_00019680;noncoding;0.662171;TCONS_00017036;coding;7,99E-01;TCONS_00005339;coding;8,64E-03;TCONS_00002753;coding;1,02E+00;TCONS_00029862;coding;5,92E-04;TCONS_00025100;coding;0.258693;TCONS_00039934;coding;7,34E-03;TCONS_00008884;coding;1,61E-02;TCONS_00039152;noncoding;0.551458;TCONS_00033926;coding;6,09E-07;TCONS_00008328;noncoding;0.887499;TCONS_00043013;coding;0.0242812;TCONS_00017807;coding;3,00E-14;TCONS_00031465;coding;1,51E-04;TCONS_00003043;coding;6,12E-07;TCONS_00020339;coding;1,58E-07;TCONS_00011637;coding;4,62E-04;TCONS_00026818;coding;3,92E-02;TCONS_00027277;coding;0.0031664;TCONS_00027121;coding;2,61E-03;TCONS_00014963;coding;4,25E-03;TCONS_00032455;coding;1,27E-01;TCONS_00024237;coding;4,26E-09;TCONS_00024931;coding;1,18E-08;TCONS_00009840;noncoding;0.798276;TCONS_00021981;coding;2,44E-04;TCONS_00043107;coding;0.00564581;TCONS_00031555;coding;0.0115258;TCONS_00003642;noncoding;0.946168;TCONS_00046054;coding;0.131067;TCONS_00009405;noncoding;0.589966;TCONS_00023326;coding;

I'm looking at "column" and "pr" at the moment.
# 11  
Old 11-04-2013
Hmm, it seems that the previous file didn't contain Windows style line ends, but something else (OSX maybe?). If you still have the original files (containing ^M characters), then run this on them:
Code:
tr '\r' '\n' < 1.txt > 1.txt.really.fixed
tr '\r' '\n' < 2.txt > 2.txt.really.fixed

This User Gave Thanks to bartus11 For This Post:
# 12  
Old 11-04-2013
Many thanks again! Smilie Now everything runs smoothly. Your advice was a very big help for a unix novice! This will change (partly) Smilie

Code:
TCONS_00033802;coding;1,48E-05;PCDHGA4
TCONS_00012432;coding;1,12E-05;TOX4
TCONS_00041012;coding;5,15E-07;VPS41
TCONS_00020923;noncoding;0.91566;ZNF85
TCONS_00018944;coding;8,62E-04;KRT39
TCONS_00029495;noncoding;0.52531;EBLN2
TCONS_00014097;coding;3,00E-14;MAPKBP1


Last edited by kben; 11-04-2013 at 04:14 PM..
# 13  
Old 11-05-2013
Note: CR-terminated lines (\r) are typically MacOs 9 or older
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

awk for matching fields between files with repeated records

Hello all, I am having trouble with what should be an easy task, but seem to be missing something fundamental. I have two files, with File 1 consisting of a single field of many thousands of records. I also have File 2 with two fields and many thousands of records. My goal is that when $1 of... (2 Replies)
Discussion started by: jvoot
2 Replies

2. UNIX for Beginners Questions & Answers

Continued trouble matching fields in different files and selective field printing ([g]awk)

I apologize in advance, but I continue to have trouble searching for matches between two files and then printing portions of each to output in awk and would very much appreciate some help. I have data as follows: File1 PS012,002 PRQ 0 1 1 17 1 0 -1 3 2 1 2 -1 ... (7 Replies)
Discussion started by: jvoot
7 Replies

3. Shell Programming and Scripting

awk to print fields that match using conditions and a default value for non-matching in two files

Trying to use awk to match the contents of each line in file1 with $5 in file2. Both files are tab-delimited and there may be a space or special character in the name being matched in file2, for example in file1 the name is BRCA1 but in file2 the name is BRCA 1 or in file1 name is BCR but in file2... (6 Replies)
Discussion started by: cmccabe
6 Replies

4. UNIX for Beginners Questions & Answers

Awk: matching multiple fields between 2 files

Hi, I have 2 tab-delimited input files as follows. file1.tab: green A apple red B apple file2.tab: apple - A;Z Objective: Return $1 of file1 if, . $1 of file2 matches $3 of file1 and, . any single element (separated by ";") in $3 of file2 is present in $2 of file1 In order to... (3 Replies)
Discussion started by: beca123456
3 Replies

5. UNIX for Advanced & Expert Users

awk print all fields except matching regex

grep -v will exclude matching lines, but I want something that will print all lines but exclude a matching field. The pattern that I want excluded is '/mnt/svn' If there is a better solution than awk I am happy to hear about it, but I would like to see this done in awk as well. I know I can... (11 Replies)
Discussion started by: glev2005
11 Replies

6. Shell Programming and Scripting

awk question ? set 2 variables by matching fields

Hello, I'm trying to get the TOP and BASE numbers printed out File looks like this: 2300 CAR # 2300 is the TOP 2310 CAR 2335 CAR 2455 CAR # 2455 is the BASE 1000 MOTOR # 2455 will become this TOP 2000 MOTOR 3000 MOTOR 4000 MOTOR # 4000 is the BASE 2345 BIKE # 4000... (8 Replies)
Discussion started by: charlieglen
8 Replies

7. Shell Programming and Scripting

Awk - Script assistance on identifying non matching fields

Hoping for some assistance. my source file consists of: os, ip, username win7, 123.56.78, john win7, 123.56.78, paul win7, 10.1.1.1, john win7, 10.2.2.3, joe I've been trying to run a script that will only return ip and username where the IP address is the same and the username is... (3 Replies)
Discussion started by: tekvaio
3 Replies

8. Shell Programming and Scripting

AWK : Add Fields of lines with matching field

Dear All, I would like to add values of a field, if the lines match in a certain field. Then I would like to divide the sum though the number of lines that have a matched field. This is the Input: Input: Test1 5 Test1 10 Test2 2 Test2 5 Test2 13 Test3 4 Output: Test1 7.5 Test1 7.5... (6 Replies)
Discussion started by: DerSeb
6 Replies

9. Shell Programming and Scripting

AWK- delimiting the strings and matching the fields

Hello, I am newbie in awk. I have just started learning it. 1) I have input file which looks like: {4812 4009 1602 2756 306} {4814 4010 1603 2757 309} {8116 9362 10779 } {10779 10121 9193 10963 10908} {1602 2756 306 957 1025} {1603 2757 307} and so on..... 2) In output: a)... (10 Replies)
Discussion started by: kajolo
10 Replies

10. Shell Programming and Scripting

AWK Matching Fields and Combining Files

Hello! I am writing a program to run through two large lists of data (~300,000 rows), find where rows in one file match another, and combine them based on matching fields. Due to the large file sizes, I'm guessing AWK will be the most efficient way to do this. Overall, the input and output I'm... (5 Replies)
Discussion started by: Michelangelo
5 Replies
Login or Register to Ask a Question