Using multiple pipe output


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using multiple pipe output
# 1  
Old 08-06-2012
Using multiple pipe output

I have a script that finds all sffs and extracts them into .fastq file types. What I need to do is change the .fastq to .fasta using the below script. How can I change the input.fastq and output.fasta to mirror the file's name? Would I use an array and use the default iterator?

Code:
#!/bin/bash

find . -type f -name \*.sff | xargs python /usr/local/bin/sff_extract.py

find . -type f -name \*.fastq | xargs awk 'BEGIN{P=1}{if(P==1||P==2){gsub(/^[@]/,">");print}; if(P==4)P=0; P++}' input.fastq > output.fasta

# 2  
Old 08-06-2012
Code:
#!/bin/bash
find . -type f -name \*.sff |
while read fname 
do
  python /usr/local/bin/sff_extract.py $fname
  iname=${fname/.sff/.fastq/}
  oname=${fname/.sff/.fasta/}
  awk 'BEGIN{P=1}
     {if(P==1||P==2){gsub(/^[@]/,">");print}; if(P==4)P=0; P++}' $iname > $oname

try that
# 3  
Old 08-06-2012
It did not work. When I run sff extract I get something like file.MID38.fastq which is why I think it did not work, at first I was getting an error saying that it was not a directory. I removed the
Code:
iname=${fname/.sff/.fastq/}   oname=${fname/.sff/.fasta/}

and I did not get any error but it still did not change the fastq to a fasta.

Last edited by jrymer; 08-06-2012 at 03:01 PM.. Reason: forgot code tags
# 4  
Old 08-06-2012
Those are bash substitutions. There is a typo in what I gave you:
Code:
iname=${fname/.sff/.fastq/}   
oname=${fname/.sff/.fasta/}

Remove the trailing / (red)
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep from multiple patterns multiple file multiple output

Hi, I want to grep multiple patterns from multiple files and save to multiple outputs. As of now its outputting all to the same file when I use this command. Input : 108 files to check for 390 patterns to check for. output I need to 108 files with the searched patterns. Xargs -I {} grep... (3 Replies)
Discussion started by: Diya123
3 Replies

2. Shell Programming and Scripting

Coulering pipe output

I'm trying to get an output to echo on the next line in a given color and outputted next to a label. Sorry if that's a bit vague, see below. #!/bin/bash YELLOW=$(tput setaf 3 && tput bold) echo -n 'plaintext' | openssl md2 || read hash echo "$YELLOW Hash:$hash" But I can't seem to get the... (2 Replies)
Discussion started by: 3therk1ll
2 Replies

3. Shell Programming and Scripting

Pipe delimited output

Hi All, i have the following command df|awk '{print $5}'|grep /| egrep -v '^/$|/usr|/opt|/var/log|/home|/tmp' output looks like: /filesystem/number1 /filesystem/number2 /filesystem3 /possiblymoreoutput i want the output to look like the below (either in a file or to output to... (3 Replies)
Discussion started by: Tommyk
3 Replies

4. UNIX for Dummies Questions & Answers

pipe > output

I can use pipe output to a file. For example ./somescript.sh > output.txt But for example if the output from ./somescript.sh is slow. like if it prints one line every minute then output.txt is not updated every minute. Lines are written to output.txt in one go, hence have to wait for the whole... (2 Replies)
Discussion started by: kevincobain2000
2 Replies

5. UNIX for Dummies Questions & Answers

Use awk to pipe output from one file into multiple files

Hi All. Thanks for your help in advance. I have a requirement to examine the number of delimiters in each record of a file. If the record has the expected number of delimiters it should be passed into a 'good' file. If it does not, the record should be passed into a 'bad' file. I have been able... (8 Replies)
Discussion started by: codestar1
8 Replies

6. UNIX for Dummies Questions & Answers

is there any way of using rm command on output of pipe

Hi, I am having a list of directories with different login id's. My requirement is that i need to list the directories of my id and need to delete them. So i am using following code ls -ltr ¦ grep userid ¦ rm -rf But this is not working. So is there any way of doing it. Please note... (3 Replies)
Discussion started by: sarbjit
3 Replies

7. UNIX for Dummies Questions & Answers

pipe output to two files

I am using grep and I want the output to go into two files without going to the screen. I used tee to get the output into two files, but it is also putting the output on the screen which i do not want. Can this be fixed. (2 Replies)
Discussion started by: NobluesFDT
2 Replies

8. Shell Programming and Scripting

how to pipe output of here-document!!

anybody can help, plz: I want to pass the output of "ls" to "grep": ftp -n host <<! USER user passwd ls bye ! | grep file exit 0 It does not work!! Any idea?? Sami (7 Replies)
Discussion started by: sami98
7 Replies

9. Programming

output string message to pipe

i am new to linux programming. can anyone answer my question? there is one pipe file "my_pipe" prw-r--r-- 1 john rnd 32 Aug 17 19:45 my_pipe how to output string message (char*) to this pipe? which API should I use? (3 Replies)
Discussion started by: princelinux
3 Replies

10. Programming

How to use pipe() in multiple threads?

Hi, I have a program that runs two threads in stead of two processes. I want to use pipe to redirect the output of the first thread to the input of the second thread. One thread is continuously writing to a pipe, and the other thread will read from the pipe. How do I do that? Is there... (2 Replies)
Discussion started by: wminghao
2 Replies
Login or Register to Ask a Question