我有一个二进制文件: temp.exe
此二进制文件( temp.exe )采用两个命令行参数 a
和 b
。
我还有一个 agrsList.txt
文件,其中包含:
a1 b1
a2 b2
a3 b3
: :
: :
an bn
现在,我想将此文件的每一行作为参数传递给二进制文件。
PS:我无法访问源代码,因此我可以编辑代码并使其读取文件。
是否有解决此问题的方法(不编写脚本)。
答案 0 :(得分:2)
您可以使用
xargs -rn 2 temp.exe < agrsList.txt
-r
表示temp.exe
仅在有参数时才会运行。
-n 2
表示temp.exe
最多只能运行两个参数。
如果agrsList.txt
中的单词数量为奇数,则temp.exe
只会使用一个参数运行,最后一个参数。
有关详细信息,请参阅man xargs。
答案 1 :(得分:0)
通常最好处理这个简单的事情 一种“脚本”语言,但它在前面非常直接 C ++也是如此。如果您正在从标准中读取文件:
std::string args;
while ( std::getline( std::cin, args ) ) {
system( ("temp " + args).c_str() );
}
应该是您所需要的一切。 (但你没有说你想做什么
如果temp
失败。)