我需要一个bash脚本来执行一个程序没有一个特定的文件,并在同directory.This程序创建的输出文件中的所有目录需要存在于每个目录与名称的输入文件* .DNA.fasta .Suppose我有可能包含子目录也一个bash脚本运行的目录程序不具有特定文件
dir1/a.protein.fasta
dir2/b.protein.fasta
dir3/anyfile
dir4/x.orf.fasta
我已经发现,不目录开始下列目录有一个特定的文件whic名是* .protein.fasta
在这种情况下,我想 在dir3
和dir4
上市(因为它们不包含*.protein.fasta
) 我曾尝试这样的代码:
find . -maxdepth 1 -type d \! -exec test -e '{}/*protein.fasta' \; -print
但似乎我错过了一些东西它不工作。 也我不知道如何进行整个故事。
耶大,这部分看起来不错,但不知道如何处理剩下的 – shaq 2012-08-13 11:53:41
我需要用一个文件,该文件是在目录中我和它的名字运行程序的目录的名称加上.DNA.fasta **它是n ot以这种方式工作,我用过你有什么想法?**为我in *; do test -d“$ i”&&(find“$ i”-name'* protein.fasta'| grep -q。|| exec“myprogram”“$ i.DNA.fasta”);做 – shaq 2012-08-13 13:13:26
如果您有已经运行新的测试,请[更新您的问题(http://stackoverflow.com/posts/11932067/edit),包括这些测试及其结果。当涉及到代码格式时,这样的评论绝对是吸引人的。另外,它是'* .DNS.fasta'就像你的问题,或'* .protein.fasta'就像你的例子?请澄清[在你的问题](http://stackoverflow.com/posts/11932067/edit)。 – ghoti 2012-08-13 14:06:26