Help with reformat data structure


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with reformat data structure
# 1  
Old 09-06-2012
Help with reformat data structure

Input file:
Code:
bv|111259484|pir||T49736_real_data
bv|159484|pir||T9736_data_figure
bv|113584|prf|T4736|truth
bv|113584|pir||T4736_truth

Desired output:
Code:
bv|111259484|pir|T49736|real_data
bv|159484|pir|T9736|data_figure
bv|113584|prf|T4736|truth
bv|113584|pir|T4736|truth

Once the program find "pir||"
I hope to replace "pir||" into "pir|' and follow by replace the next shown "_" into "|"
Command I try:
Code:
awk '{gsub(/pir||/,"pir|",$1);print}' input_file.txt

I just able to replace the "pir||" into "pir|' but I don't know how to replace the following "_" into "|" Smilie
Thanks for any advice.
# 2  
Old 09-06-2012
Try this...

Code:
sed 's/pir||/pir|/g' file

sed 's/||/|/g' file

# 3  
Old 09-06-2012
Hi pamu,

Thanks for your reply.
My main problem facing is I not sure how to replace the "_" into "|" after I find "pir||" in the data set Smilie
I hope to replace "pir||" into "pir|' and at the same time follow by replace the next shown "_" into "|".

Thanks for any advice.
# 4  
Old 09-06-2012
Quote:
Originally Posted by perl_beginner
Hi pamu,

I hope to replace "pir||" into "pir|' and at the same time follow by replace the next shown "_" into "|".

Thanks for any advice.
You want to replace _ with | right..?

Then try this..

Code:
sed -e 's/pir||/pir|/g' -e 's/_/|/g' file

# 5  
Old 09-06-2012
I just wanna to replace only the first "_" shown when the data got "pir||" or else just print the original data set.
If I used the sed command that you mention. It will replace all the "_" into "|" which might be different with my desired output result Smilie
# 6  
Old 09-06-2012
Not able to find with single awk...Smilie

but it works..Smilie

Code:
awk -F "|" '{for(i=1;i<=NF;i++) { if ($i == "" && $(i-1) == "pir") {sub("_","|",$(i+1))} }}1' OFS=\| file | sed 's/pir||/pir|/g'

This User Gave Thanks to pamu For This Post:
# 7  
Old 09-06-2012
Hi pamu,

Many thanks.
It really work and get what I desired Smilie
Really appreciated Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with reformat data set

Input file 4CL1 O24145 CoA1 4CL1 P31684 CoA1 4CL1 Q54P77 CoA_1 73 O36421 Unknown 4CL3 Q9S777 coumarate 4CL3 Q54P79 coumarate 4CL3 QP7932 coumarate Desired output result 4CL1 O24145#P31684 CoA1 4CL1 Q54P77 CoA_1 73 O36421 Unknown 4CL3 Q9S777#Q54P79#QP7932 coumarate I... (5 Replies)
Discussion started by: perl_beginner
5 Replies

2. Shell Programming and Scripting

Data reformat and rearrangement problem asking

Input file: dependent general_process dependent general_process regulation general_process - - template component food component binding data_rearrangement binding data_rearrangement specific_activity data_rearrangement - ... (7 Replies)
Discussion started by: cpp_beginner
7 Replies

3. Shell Programming and Scripting

Reformat MLS Data - Use AWK?

I am helping my wife set up a real estate site and I am starting to integrate MLS listings. We are using a HostGator level 5 VPS running CentOS and have full root and SSH access to the VPS. Thus far I have automated the daily FTP download of listings from our MLS server using a little sh script.... (4 Replies)
Discussion started by: Chicago_Realtor
4 Replies

4. Shell Programming and Scripting

Help with reformat input data

Input file: 58227131 50087390 57339526 40578034 65348841 55614853 64363217 44178559 Desired output file: 58227131 50087390 57339526 40578034 65348841 55614853 64363217 44178559 Command that I try: (4 Replies)
Discussion started by: perl_beginner
4 Replies

5. Shell Programming and Scripting

Help with reformat data content

input file: hsa-miR-4726-5p Score hsa-miR-483-5p Score hsa-miR-125b-2* Score hsa-miR-4492 hsa-miR-4508 hsa-miR-4486 Score Desired output file: hsa-miR-4726-5p Score hsa-miR-483-5p Score hsa-miR-125b-2* Score hsa-miR-4492 hsa-miR-4508 hsa-miR-4486 Score ... (6 Replies)
Discussion started by: perl_beginner
6 Replies

6. Shell Programming and Scripting

Split, Search and Reformat by Data Group

Hi, I am writing just to share my appreciation for help I have received from this site in the past. In a previous post Split File by Data Group I received a lot of help with a troublesome awk script to reformat some complicated data blocks. What I learned really came in hand recently when I... (1 Reply)
Discussion started by: mkastin
1 Replies

7. Shell Programming and Scripting

Reformat the data of a file.

I have a file which have data like A.txt a 1Jan I am in a1. 1Jan I was born. 2Jan I am here. 3Jan I am in a3. b 1Jan I am in b1. c 2Jan I am in c2. d 2Jan I am in d2. 5jan I am in d5. date in the file might be vary evertime. (9 Replies)
Discussion started by: samkhu
9 Replies

8. Shell Programming and Scripting

reformat data with a shell script

Can anyone help me with a shell script that can do the following: I have a data in fasta format (first line is the header, followed by a sequence of characters). >ALLLY GGCCCCTCGAGCCTCGAACCGGAACCTCCAAATCCGAGACGCTCTGCTTATGAGGACCTC GAAATATGCCGGCCAGTGAAAAAATCTTGTGGCTTTGAGGGCTTTTGGTTGGCCAGGGGC... (5 Replies)
Discussion started by: manishabh
5 Replies

9. Shell Programming and Scripting

Reformat Data (Perl)

I am new to Perl. I need to reformat a data file as the last part of a script I am working on. I am stuck on this. Here is the current format: CUSTOMER Filename 09/04/07-08:49 CUSTOMER Filename 09/04/07-08:52 CUSTOMER Filename 09/04/07-08:52 CUSTOMER2 Filename 09/04/07-08:49 CUSTOMER2... (3 Replies)
Discussion started by: flood
3 Replies

10. Shell Programming and Scripting

help reformat data with awk

I am trying to write an awk program to reformat a data table and convert the date to julian time. I have all the individual steps working, but I am having some issues joing them into one program. Can anyone help me out? Here is my code so far: # This is an awk program to convert the dates from... (4 Replies)
Discussion started by: climbak
4 Replies
Login or Register to Ask a Question