检查是否自动爆破文件夹中的多个文件
Checking if blast out for multiple files in a folder automatically
我已经完成了多次小型的 blast runs。现在我想自动检查所有文件是否正确完成并正确结束。
例如,如果我检查特定文件的结尾,我会看到:
n85567:Mel_Sanger mitras$ tail /Volumes/ForBlastLactose/output/S5_1FIL_ab.out
Database: SILVA_119_SSURef_tax_silva
Posted date: Jan 6, 2015 11:55 AM
Number of letters in database: 2,241,843,227
Number of sequences in database: 1,583,830
Matrix: blastn matrix 1 -2
Gap Penalties: Existence: 0, Extension: 2.5
因此,如果正确完成,文件将有结束行 Gap Penalties: Existence: 0, Extension: 2.5
所以现在我的问题是,我如何授权一个脚本来检查文件夹中所有文件的这个特定结尾,并在结尾不匹配时报告文件名。
我正在尝试类似的东西:
if [[for f in *.out; tail -1 ${f} == "Gap Penalties: Existence: 0, Extension: 2.5"; then echo "All files are fine"; else echo "Error file:"$f; fi
但作为脚本的新手,我显然也做不好。
谁能帮我做一下。
非常感谢,
米特拉
您通常不应该期望来到 whosebug.com 并期望人们为您编写代码。我相信你可以从这里拿走它。
$ cat endcheck
#!/bin/bash
for i in *.txt;
do
s=$(tail -1 $i)
if [ "$s" != "Gap Penalties: Existence: 0, Extension: 2.5" ]
then
echo File $i does not have the correct ending.
fi
done
pwatson@tmc002 ~/y
$ ./endcheck
File t1.txt does not have the correct ending.
我已经完成了多次小型的 blast runs。现在我想自动检查所有文件是否正确完成并正确结束。
例如,如果我检查特定文件的结尾,我会看到:
n85567:Mel_Sanger mitras$ tail /Volumes/ForBlastLactose/output/S5_1FIL_ab.out
Database: SILVA_119_SSURef_tax_silva
Posted date: Jan 6, 2015 11:55 AM
Number of letters in database: 2,241,843,227
Number of sequences in database: 1,583,830
Matrix: blastn matrix 1 -2
Gap Penalties: Existence: 0, Extension: 2.5
因此,如果正确完成,文件将有结束行 Gap Penalties: Existence: 0, Extension: 2.5
所以现在我的问题是,我如何授权一个脚本来检查文件夹中所有文件的这个特定结尾,并在结尾不匹配时报告文件名。
我正在尝试类似的东西:
if [[for f in *.out; tail -1 ${f} == "Gap Penalties: Existence: 0, Extension: 2.5"; then echo "All files are fine"; else echo "Error file:"$f; fi
但作为脚本的新手,我显然也做不好。
谁能帮我做一下。 非常感谢, 米特拉
您通常不应该期望来到 whosebug.com 并期望人们为您编写代码。我相信你可以从这里拿走它。
$ cat endcheck
#!/bin/bash
for i in *.txt;
do
s=$(tail -1 $i)
if [ "$s" != "Gap Penalties: Existence: 0, Extension: 2.5" ]
then
echo File $i does not have the correct ending.
fi
done
pwatson@tmc002 ~/y
$ ./endcheck
File t1.txt does not have the correct ending.