simple awk question: split field with :


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting simple awk question: split field with :
# 1  
Old 10-07-2009
simple awk question: split field with :

Hi,
Probably a very weak question.. but I have tried all I know..
Code:
BPC0001:ANNUL_49542     0.0108     -0.0226     -0.0236      0.0042      0.0033     -0.0545      0.0376      0.0097     -0.0093     -0.032   Control
 BPC0002:ANNUL_49606     0.0190     -0.0142     -0.0060     -0.0217     -0.0027     -0.0314      0.0048      0.0267      0.0015      0.007  Control
 BPC0003:ANNUL_49702     0.0151     -0.0006      0.0029     -0.0262     -0.0458      0.0170      0.0006      0.0022      0.0288     -0.041  Control
 BPC0004:ANNUL_49544     0.0091      0.0078     -0.0004     -0.0115     -0.0148      0.0002      0.0544      0.0001     -0.0203     -0.054    Control

Output required
Code:
BPC0001     ANNUL_49542     0.0108     -0.0226     -0.0236      0.0042      0.0033     -0.0545      0.0376      0.0097     -0.0093     -0.032   Control
 BPC0002    ANNUL_49606     0.0190     -0.0142     -0.0060     -0.0217     -0.0027     -0.0314      0.0048      0.0267      0.0015      0.007  Control
 BPC0003    ANNUL_49702     0.0151     -0.0006      0.0029     -0.0262     -0.0458      0.0170      0.0006      0.0022      0.0288     -0.041  Control
 BPC0004    ANNUL_49544     0.0091      0.0078     -0.0004     -0.0115     -0.0148      0.0002      0.0544      0.0001     -0.0203     -0.054    Control

What I tried so far:
Code:
awk -FS:'{gsub(":","\t"); print $0}'

stuck!
Code:
awk '{gsub(/:/\/\t/){print $1, $2, $3, $4, $5, $6}}'

awk: ^ backslash not last character on line
# 2  
Old 10-07-2009
Hi.

Based on your data...
Code:
tr ':' '\t' input_file

If you want to use awk, then sub( ":", "\t", $1 )
# 3  
Old 10-07-2009
Code:
nawk 'gsub(":", OFS)' OFS='\t' myFile

# 4  
Old 10-07-2009
hi vgersh,
nawk not available on the system.
Any other remedies?
Sorry, found that awk words the same as nawk !!Smilie

Last edited by genehunter; 10-07-2009 at 08:37 PM.. Reason: felt like an idiot for not trying out awk
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 to split field twice using two deliminators

In the awk I am splitting on the : into array a, then splitting on the - into element b. I can not seem to duplicate b if there is no - after it. Lines 1,2,4 are examples. If there is a - after the number in b then the value to the right of it is $3 in the ouput. Thank you :). awk... (2 Replies)
Discussion started by: cmccabe
2 Replies

2. Shell Programming and Scripting

awk to add plus or minus to fields and split another field

In the tab-delimited input below I am trying to use awk to -10 from $2 and +10 to $3. Something like awk -F'\t' -v OFS='\t' -v s=10 '{split($4,a,":"); print $1,$2-s,$3+s,a,$5,$6} | awk {split(a,b,"-"); print $1,$2-s,$3+s,b-s,b+s,$5,$6}' input should do that. I also need to -10 from $4... (2 Replies)
Discussion started by: cmccabe
2 Replies

3. Shell Programming and Scripting

awk split after second underscore in field

I am trying to split a tab-delimeted file using awk after the second _ in bold. The awk below is close but splits on the first _, and I am not sure how to use the second _. Thank you :). file chr1 92145889 92149424 NM_001195684_exon_0_10_chr1_92145900_r 0 - chr1 92161218 ... (4 Replies)
Discussion started by: cmccabe
4 Replies

4. Shell Programming and Scripting

Simple awk question

Hi All, A very silly question: How to just print the integer attached a particular string in a line by awk? Ex: Happy_world_foo123...So i just want the value 123 to be printed on the line where we have string "foo". Thanks (16 Replies)
Discussion started by: Indra2011
16 Replies

5. Shell Programming and Scripting

awk to split one field and print the last two fields within the split part.

Hello; I have a file consists of 4 columns separated by tab. The problem is the third fields. Some of the them are very long but can be split by the vertical bar "|". Also some of them do not contain the string "UniProt", but I could ignore it at this moment, and sort the file afterwards. Here is... (5 Replies)
Discussion started by: yifangt
5 Replies

6. Shell Programming and Scripting

Split field with awk

Hi there I have a text file with several fields separated by ";" as follow : 5466-43;5466;JOAN;LIGA;LIGA ESPANOLA;43;DEP LA CORUNA - OSASUNA;10/01/10 17:00 5466-44;5466;CARLES;LIGA;LIGA ESPANOLA;44;MALAGA - ATHL BILBAO;10/01/10 17:00 5466-45;5466;FAB;LIGA;LIGA ESPANOLA;45;REAL MADRID -... (4 Replies)
Discussion started by: capnino
4 Replies

7. Shell Programming and Scripting

awk script to split field data

Hi Experts, I have a Input.txt document which contains data fields seperated by tabs. There are 4 fields totally Named UNIQUE, ORDER, CONTACT and WINS. The UNIQUE field contains unique ID and the CONTACT field contains data seperated by comma in some records. I am looking to write an awk script... (12 Replies)
Discussion started by: forumthreads
12 Replies

8. UNIX for Dummies Questions & Answers

simple awk question

Hi , I have a simple question in awk, i have long string which i am getting for a grep command. the output contains 50 fields. I need to display like first 5 fileds in a line and rest of all fields in the next line. { for(i=5;i<NF;++i) s= $i; print $1,$2,$3,$4,$5,"\n",$s} Is the above... (1 Reply)
Discussion started by: senthilkumar_ak
1 Replies

9. Shell Programming and Scripting

can Awk split my field on the .

I am trying to pull data out of a file to execute a series of repetitive commands. One of the fields is a {hex number}.{hex number} pattern. I need the first part of that structure to pass into the command. The file structure is like this: A 2007/10/20 09:50:00 li text ef6da.1 name ... (6 Replies)
Discussion started by: oly_r
6 Replies

10. Shell Programming and Scripting

Split a field in awk script

Hi all, I have a field in the line, let's say argument $6, which is in the format 00.00 If i want to split the field to get rid of the "." in between of the amount, how can i do that i awk script? I have it like this split($6,a,".") but it will get rid of the last 2 digits after the... (4 Replies)
Discussion started by: CamTu
4 Replies
Login or Register to Ask a Question