2016-11-16 71 views
0

我有一个C++可执行文件“Score”,它以输入两个用户定义的“值”作为输入。 这些值是txt文件中的一些数据。我运行该程序,并将输出保存到一个文本文件中像这样:以不同的用户输入运行C++代码的脚本

./Score data1.txt data2.txt >outdata1data2.txt 

因为我需要运行这个多次将有可能创建一个shell bash脚本,自动执行此操作是这样的:

./Score data1.txt data3.txt >outdata1data3.txt 
./Score data1.txt data4.txt >outdata1data4.txt 

等..

数据的名称都在同一目录下的可执行文件不同,所有。 我在C++中的知识非常有限,任何帮助,将不胜感激

+0

你能否指定哪个shell类型?庆典?其他? –

回答

0

这绝对有可能。 你可能会想编写一个类似如下的shell脚本:

#!/bin/bash 
for filename1 in /*.txt; do 
    for filename2 in /*.txt; do 
    ./Score "$filename1" "$filename1" > "out$filename1$filename2" 
    done 
done 
1
#!/bin/bash 

for dataFile in data*.txt; do 
    # Ignore data1.txt. 
    [[ $dataFile == data1.txt ]] && continue 

    ./Score data1.dxt "$dataFile" > "outdata1$dataFile" 
done 

这遍历当前目录中名为data*.txt文件。由于匹配data1.txt,它需要被明确忽略。然后它会调用./Score以及每个匹配的文件名并根据输入文件命名输出文件。