我写了一个代码来遍历目录中的所有.fasta文件,但无法正常工作。我希望它与我的-db Viral.fna匹配并输出(fasta文件名).txt和-outfmt 6
我尝试了2种不同的密码
for f in file1.fasta file2.fasta etc ...
do blastn -db Viral.fna -query $f.fasta -out $f_output3.txt -outfmt 6
Done
不起作用:给我这个错误
Command line argument error: Argument "query". File is not accessible: `file1.fasta.fasta'and repeated for all the files
我也尝试过这个:
for f in 'ls *.fasta'
do blastn -db Viral.fna -query $f -out $f_output3.txt -outfmt 6
Done
有人可以帮助我弄清楚如何使此循环有效吗,但我不断收到错误消息
Too many positional arguments (1), the offending value: 123.fasta
答案 0 :(得分:0)
.fasta扩展名已经是$ f的一部分,因此请不要添加它。而且,如果任何文件名中都有空格,则必须在使用$ f的地方使用引号:
-query "$f" -out "$f"_output3.txt
此外,当您编写$ f_output3.txt时,shell会认为您想要使用一个名为f_output3的变量,该变量不存在