用于管道传输多个 .in 文件并按顺序保存 .out 文件的 bash shell 脚本

用于管道传输多个 .in 文件并按顺序保存 .out 文件的 bash shell 脚本

在 bash shell 中,我想要一个脚本或命令来获取所有 test.in 文件(我有 test1.in、test2.in、test3.in 到 testN.in)并将其通过管道传输到可执行文件 testExecutable 并输出结果每个都在 testN.out 文件中。

到目前为止,我知道我可以通过执行 find 输入所有文件。测试*.in < 测试可执行文件

但我不确定如何使用输出管道为 test1.in 生成 mytest1.out ,为 test2.in 生成 mytest2.out ,依此类推。

提前感谢您的帮助。

答案1

你需要一个循环:

for f in test*.in; do testExecutable <"$f" >"my${f%in}out"; done

上面的内容对于所有文件名都是安全的,甚至是包含空格的名称。

相关内容