你有两个选择

你有两个选择

我已经使用gccmake编译了一个c文件。运行文件的名称是sequence.我有两个目标:

  1. 有一个输入文件(即in1stdin并运行该程序。当程序完成使用 in1 并终止时,使用不同的输入文件(即in2在终端命令中指定)再次运行它。
  2. 将程序执行的所有不同时间的所有输出都转到同一个文件(即output1),而不覆盖以前的输入。所以结果会是这样的:

输入文件:

in1

a

in2

b

in3

c

程序中:

putchar(getchar());

输出:

a
b
c

如何通过终端命令达到预期的结果?

答案1

您似乎混淆了 shell 的职责和程序的职责。

你有两个选择

让程序打开 3 个文件,并将它们写入 stdout。这就是猫所做的。

program in1 in2 in3

使用 shell-redirection-append >>

例如

program <in1 >> file-name
program <in2 >> file-name
program <in3 >> file-name

或使用括号,并覆盖重定向

{
  program <in1
  program <in2
  program <in3
} > file-name

相关内容