Eu tenho o seguinte problema em relação ao comando sed. O que eu quero fazer é:
sed '1 d' filename.fa | sed "1i\>filename\n" > filename_Edited.fa
onde o arquivo da linha é substituído por "> nome do arquivo". Isso é feito em 2 etapas: excluindo a primeira linha e, em seguida, inserindo uma nova que contenha o "> text" desejado. O comando funciona como está escrito acima, se for digitado diretamente no console (sem variáveis). No entanto, eu preciso deste comando integrado no script a seguir, onde filename agora depende de uma variável:
#!/bin/bash
CODE='cut -c 7-21 Data.txt'
cd ../FASTA_SEC/
for i in ${CODE}
do
sed '1 d' ${CODE}.fa | sed "1i\>${CODE}\n" > ${CODE}_Edited.fa
done
Eu recebo o seguinte erro quando esse script é executado para cada iteração do loop:
try: line 8: ${CODE}_Edited.fa: ambiguous redirect
Eu não entendo o que está errado na sed sintaxis ou no roteiro geral, Aparentemente, deve funcionar, mas não funciona. Alguma pista?
Eu também tentei executar o script sem parte pipped, apenas executando o sed que exclui a primeira linha do texto:
#!/bin/bash
CODE='cut -c 7-21 Data.txt'
cd ../FASTA_SEC/
for i in ${CODE}
do
sed '1 d' ${CODE}.fa > ${CODE}_Edited.fa
done
No entanto, ele retorna o primeiro erro novamente!
Obrigado pela ajuda do ano !!
**. fa format são conhecidos como fasta, que são uma espécie de formato de texto simples usado em seqüências de DNA