【问题标题】:Checking if blast out for multiple files in a folder automatically自动检查文件夹中的多个文件是否爆炸
【发布时间】:2015-07-23 07:00:26
【问题描述】:

我已经进行了多次小型爆炸运行。现在我想自动检查所有文件是否以正确的结尾正确完成。

例如,如果我检查特定文件的结尾,我会看到:

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  

但是作为一个脚本新手,我显然也没有做对。

谁能帮我做。 非常感谢, 米特拉

【问题讨论】:

  • tail -1 只会为您提供可以与预期结果进行比较的最后一行。这里的大多数问题都是关于 DOS/Windows 批处理文件脚本的。此外,您可能想要编写正确的脚本。
  • 是的,我需要帮助...编写一个正确的脚本,可以使用 tail 检查所有文件的结尾。让我知道是否有任何人没有得到 goos 的结局。谢谢,米特拉

标签: blast


【解决方案1】:

您通常不应期望访问 stackoverflow.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.

【讨论】:

  • 非常感谢保罗的帮助。是的,我知道,我并没有真正期待某人提供完整的代码......但作为一个新手,我期待在我的尝试中获得帮助......正如你可以在上面看到的我之前尝试过的......我正在努力获得正确使用 for 和 if 的模式。谢谢你的帮助。干杯米特拉。
  • 如果这对您有用,请将其标记为答案。谢谢。
  • 您好,我不知道如何将其标记为已回答。我点击了您的回答,认为它有帮助,但由于我是新用户,它没有显示。
  • @user3042163 - 答案左侧有一个向上三角形、向下三角形和一个复选标记。请尝试选中复选标记。
  • 我尝试了同样的方法,但它说一旦我获得 15 名声望,那么只有我的投票会被公开显示。
猜你喜欢
  • 1970-01-01
  • 2016-04-26
  • 2010-11-08
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多