2016-11-16 79 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以及每個匹配的文件名並根據輸入文件命名輸出文件。