用不同的用户输入运行C ++代码的脚本

时间:2016-11-16 18:22:08

标签: shell

我有一个c ++可执行文件'Score',它将两个用户定义的'值'作为输入。 这些值是txt文件中的一些数据。我运行程序并将输出保存为文本文件,如下所示:

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

因为我需要多次运行它才能创建一个shell bash脚本,它自动执行以下操作:

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

依旧......

数据的名称都是不同的,并且都与可执行文件位于同一目录中。 我在C ++方面的知识非常有限,任何帮助都会受到赞赏

2 个答案:

答案 0 :(得分: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,并根据输入文件命名输出文件。

答案 1 :(得分:0)

绝对有可能。 您可能希望编写类似于此的shell脚本:

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