我正在尝试执行bash循环,对所有扩展名为.sam的文件运行一个简单的进程,该文件可以在目录及其子目录中找到,并使用相同的名称(exc扩展名)作为输入,输出定向到找到输入的同一文件夹。
我得到了以下内容:
...
>bash:/home/madzays/qsub//home/madzays/data/finch_data/combruns_ZF_transcriptomes/ZBND81X_gff/filteredfirstZBND81X_gff.bam: No such file or directory
>bash:/home/madzays/qsub//home/madzays/data/finch_data/combruns_ZF_transcriptomes/ZBND81X_gff/filteredsecZBND81X_gff.bam: No such file or directory
>bash:/home/madzays/qsub//home/madzays/data/finch_data/combruns_ZF_transcriptomes/ZBND82V_gff/filteredfirstZBND82V_gff.bam: No such file or directory
...
但是我收到了这条消息:
Sheets("OEVK").Range("J314").FormulaLocal = "=LARGER(IF(jelolt_lista!$C:$C=OEVK!B314;jelolt_lista!$M:$M);1)"
Sheets("OEVK").Range("J315").FormulaLocal = "=LARGER(IF(jelolt_lista!$C:$C=OEVK!B315;jelolt_lista!$M:$M);2)"
Sheets("OEVK").Range("J316").FormulaLocal = "=LARGER(IF(jelolt_lista!$C:$C=OEVK!B316;jelolt_lista!$M:$M);3)"
Sheets("OEVK").Range("J317").FormulaLocal = "=LARGER(IF(jelolt_lista!$C:$C=OEVK!B317;jelolt_lista!$M:$M);1)"
Sheets("OEVK").Range("J318").FormulaLocal = "=LARGER(IF(jelolt_lista!$C:$C=OEVK!B318;jelolt_lista!$M:$M);2)"
Sheets("OEVK").Range("J319").FormulaLocal = "=NAGY(HA(jelolt_lista!$C:$C=OEVK!B319;jelolt_lista!$M:$M);3)"
Sheets("OEVK").Range("J2:J319").FormulaArray = Sheets("OEVK").Range("J2:J319").Formula
可能有什么不对? 感谢
答案 0 :(得分:1)
我觉得name
变量不包含您想要的内容。尝试使用basename
取代名称
for file in $(find ~/data/finch_data/combruns_BF_genomes -name "*.sam" -type f); do name="$(basename $file .sam)" dir=$(pwd $file); samtools view -Sb "$dir"/"$name".sam > "$dir"/"$name".bam; done