在 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
上面的内容对于所有文件名都是安全的,甚至是包含空格的名称。