我需要一個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