Problem with sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with sed
# 1  
Old 09-03-2011
Problem with sed

I am using the following script to linearise my sequences:
Code:
sed -e :a -e '/^>/!N;s/\n[^>]//;ta'

My files look something like this:
Quote:
>G8C6TSA01AY1RT
CACCTACAACGGCCCTT
CACCTACAACGGCCCTC
CACCTACAACGGCCCTA
CGTCAGGAG
>G8C6TSLM
CACCTACAACGGCCCTC
CACCTACAACGGCCCTG
CACCTACAACGGCCCTT
CGTC
The output file should look like this:
Quote:
>G8C6TSA01AY1RT
CACCTACAACGGCCCTTCACCTACAACGGCCCTCCACCTACAACGGCCCTACGTCAGGAG
>G8C6TSLM
CACCTACAACGGCCCTCCACCTACAACGGCCCTGCACCTACAACGGCCCTTCGTC
However, the sed script I am using is removing the first letter from the second, third and fourth lines. So, I end up having smaller sequences that look like this:
Quote:
>G8C6TSA01AY1RT
CACCTACAACGGCCCTTACCTACAACGGCCCTCACCTACAACGGCCCTAGTCAGGAG
>G8C6TSLM
CACCTACAACGGCCCTCACCTACAACGGCCCTGACCTACAACGGCCCTTGTC
Needless to say that is not the expected outfile.
Any help will be greatly appreciated!
# 2  
Old 09-03-2011
Try:
Code:
sed ':a /^>/!N;s/\n\([^>]\)/\1/;ta' INPUTFILE

This User Gave Thanks to yazu For This Post:
# 3  
Old 09-03-2011
Thank you very much!

That took care of the problem!
# 4  
Old 09-03-2011
I came to realize that the problem persists

Using the aforementioned code
Code:
sed ':a /^>/!N;s/\n\([^>]\)/\1/;ta'

In the attached input file, I do not get single lines (please output file).
Please use Text Editor to open the files. The sequences must be in a single line in Text Editor. Otherwise, my awk script, which is the following step in my pipeline, will not work.
Thanks!
# 5  
Old 09-03-2011
Try this Perl on-liner:
Code:
perl -lp0e 's/>.*/$&\x0/g;s/\n//g;s/\x0/\n/g;s/(?<!^)>/\n>/g' file

# 6  
Old 09-03-2011
Confused!

In my Linux box (RedHAt) I am having the problem I have described not seeing the sequences in single line. However, I have just opened the files on Virtual Box (Ubuntu) and they look good with either script.
Any thoughts?
My main machine is my Linux bos, and therefore, I would like to fix the problem in that machine.
Thanks!
# 7  
Old 09-03-2011
What command/editor are you using to check if the sequences are in single line? Maybe it is just line wrapping. Check your editor if it has anything like this turned on.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed Or Grep Problem OR Terminal Problem?

I don't know if you guys get this problem sometimes at Terminal but I had been having this problem since yesterday :( Maybe I overdid the Terminal. Even the codes that used to work doesn't work anymore. Here is what 's happening: * I wanted to remove lines containing digits so I used this... (25 Replies)
Discussion started by: Nexeu
25 Replies

2. UNIX for Dummies Questions & Answers

sed problem

Hi Folks, I want to replace these numbers with words as the following: $echo 1 11 223 I want to replace each number with it name (e.g. "1" replaced with "one", etc.) just to determine how sed works in such case. Thanks in advance:). Leo (8 Replies)
Discussion started by: leo_ultra_leo
8 Replies

3. Shell Programming and Scripting

sed problem

Hi i am stuck with a very silly problem :mad: below is my code echo 201010_1212_121.xml i need to replace xml with csv so i did echo 201010_1212_121.xml | sed 's/.*\.xml/.*\.csv/' echo 201010_1212_121.xml | sed 's/*.xml/*.csv/' echo 201010_1212_121.xml |... (4 Replies)
Discussion started by: aishsimplesweet
4 Replies

4. Programming

sed problem

Hi all In input file I have records like this: 0,1,0,87,0,0,"6,87","170,03",0,"43,5",0,0,0,0,"6,87","126,53"and in output file I need that these records transforms in : 0 1 0 87 0 0 6,87 170,03 0 43,5 0 0 0 0 6,87 126,53 Could you help me in this case? Please (3 Replies)
Discussion started by: shizik
3 Replies

5. Shell Programming and Scripting

SED - Problem

I have a file with a lot of numbers in it and I need to clean it up and make it look nice and proper. I found this little gem of a one-liner and basically understand what it is doing but I would like to further understand what each part of the command is doing. Being a newb, I am just trying to... (2 Replies)
Discussion started by: genedc1
2 Replies

6. Shell Programming and Scripting

Sed Problem

I have a file which contain many lines see below. "/var/www/abc>" I want to remove Both of these values "" and > (5 Replies)
Discussion started by: aliahsan81
5 Replies

7. Shell Programming and Scripting

Problem in sed.

Hi All! I am trying to use shell variables in a sed statement, but facing an error.I used the double quotes instead if single quotes in the sed statement. # sed -i -e "s/password/$decoded/g;" $CATALINA_HOME/conf/server.xml sed: -e expression #1, char 11: unterminated `s' command # ... (5 Replies)
Discussion started by: nua7
5 Replies

8. Shell Programming and Scripting

Problem with SED

Hi, I have to use SED to remove the prefix "219-" from a text file containing phone numbers and I have to remove the ":" as well. I write the following code but it does not seem to work. Can someone help me please? mohit@mohit-desktop:~$ sed -n s/219-/" "/p corp_phones_bak > noprefix1... (2 Replies)
Discussion started by: mojoman
2 Replies

9. UNIX for Dummies Questions & Answers

Problem with sed

Hi , echo "07/05/2008" | sed 's/\(..\)\/\(..\)\/\(..\)/\3\2\1/' Output :: 20050708 Expected output is 20080507 Iam not getting the bug in this. Thanks for the help -- penchal (4 Replies)
Discussion started by: penchal_boddu
4 Replies

10. UNIX for Dummies Questions & Answers

Sed Problem

I AM TRYING TO APPEND THE HOSTNAME OF A UNIX SERVER I WORK WITH SO I COULD DO A LOADING INTO A DATABASE. THE COMMAND I AM USING IS df -k | sed 's/^/dataserver /' What I intend to do is append the hostname dynamically by using the hostname command instead of having to manually enter... (1 Reply)
Discussion started by: Chelsea
1 Replies
Login or Register to Ask a Question