【问题标题】:Looping through all the inputs and creating distinct output files遍历所有输入并创建不同的输出文件
【发布时间】:2012-03-01 18:31:04
【问题描述】:

我在 Windows 7 上使用 cygwin。我有一个包含大约 1200 个相同类型文件的文件夹(没有子目录)。我正在尝试浏览文件夹并对每个文件执行特定操作(它是生物信息学对齐)。这是我正在使用的代码:

$ for file in Project/genomes_0208/*; do ./bowtie-build $file ../bowtie-0.12.7/indexes/abc; done

./bowtie - build 是我想要执行的操作。现在,这确实完成了对文件夹中所有文件的操作,但在这种情况下,它会继续将输出写入同一个文件 abc 中。

所以最后我只有 1 个具有最新输出的文件。如何创建 1200 个不同的文件,每个输入一个?我将输出文件命名为什么并不重要,它可以是任何东西,只要它们明显不同。

希望我成功地解释了这个问题,如果有任何帮助,我将不胜感激!

【问题讨论】:

    标签: file unix cygwin


    【解决方案1】:

    怎么样:

    ./bowtie-build $file "${file}.out"
    

    如果您的文件以唯一的名称开头,这也应该产生唯一的输出文件。

    【讨论】:

    • 我会在我回到我的比赛后立即检查。
    • @dawnoflife 您可能想要调整路径,但总体思路是在某处包含 ${file} 以确保唯一性。
    • 它给了我“无法打开 文件”的错误。
    • @dawnoflife 也许它没有权限?
    • 可能不是,当我将输出文件名指定为“abc”时......它可以工作(1200次)。还是我错过了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多