我有一个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 ++方面的知识非常有限,任何帮助都会受到赞赏
答案 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