首页 > 解决方案 > 自动化 C 脚本以处理多个文件

问题描述

我目前正在使用您可以在此站点上找到的可下载脚本:http: //mbio-serv2.mbioekol.lu.se/ARAGORN/

这是一个“.c”脚本,我使用 CodeBlocks 变成了一个“.o”。默认情况下,脚本会分析单个输入文件,从而提供另一个输入文件。

我想让这个脚本适用于大量输入文件,所以我需要一些自动化。出于这个原因,我需要创建另一个脚本来打开所有输入文件所在的目录,然后在每个输入文件上执行“.o”。

因此,我将为每个输入文件获取一个输出文件。

我想它一定是这样的:

open /.directory

i=0 

while 

(i < 'number of files to analyze') do {
    execute script.o (file i) > outputfilei.txt 
#save result for every input file
    i++
}

我对编程很新颖,所以我不知道如何处理这个问题。任何语言都应该这样做,但我想我更愿意使用 Python,因为我曾经在终端上运行它的脚本(我使用的是 Mac)。

感谢您的时间和帮助。

标签: pythonc

解决方案


您还没有指定如何保​​存多次运行的输出,但假设您希望它全部在标准输出上(因为 C 程序默认会打印它),您最好的选择实际上是一个 shell 脚本(在 Python 中,它将是更多的工作做同样的事情):

#!/bin/bash
for file ; do ./aragorn (add your options here) $i ; done

现在,如果您将其另存为aragorn_many(并使其可执行),您可以像这样运行它:

./aragorn_many file1 file2 file3 ...

(假设编译后的 C 和你的 shell 脚本都在你的当前目录中)


推荐阅读