gpt4 book ai didi

c - 如何编写脚本多次运行程序并将时间存储在文件中?

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:52 24 4
gpt4 key购买 nike

我正在尝试运行一个脚本来运行我用 C 编写的程序,这只是一个简单的排序程序,用于将它与 unix 中的内置函数进行比较。我想从排序 (unix) 和我的排序函数中获取用户时间 100 次,并将其放入文件 excel、csv 中以比较算法。

我的函数和排序函数在我手动运行时都有效,但我不知道如何编写代码来自动执行此过程 100 次。

#!/bin/sh
for i in {1..100}
do
for t in 01
do
echo ===Test $t ====
time sort -n <tests/$t > tests/$t.expected
time ./useIntList <tests/$t> tests/$t.observed
done
done
rm tests/*.expected tests/*.obsereved

我让程序运行了 100 次,但我不知道如何将用户时间放入数组并将其打印到文件中。

最佳答案

time 将其输出写入 stderr,而不是 stdout。它也是一个内置的 shell,在它之后执行命令,包括 I/O 重定向,在时间之外。所以你需要将时间命令放在一个 block 中,并在 block 外重定向。

您还应该使用 #!/bin/bash{1..100} 之类的语法是 bash 扩展,当您使用 #!/bin/sh 时它可能不可用。

#!/bin/sh
for i in {1..100}
do
for t in 01
do
echo ===Test $t ====
{ time sort -n <tests/$t > tests/$t.expected; } 2>tests/$t.time.expected
{ time ./useIntList <tests/$t> tests/$t.observed; } 2>tests/$t.time.observed
done
done
rm tests/*.expected tests/*.obsereved

*.time.* 文件将包含 time 的输出。

关于c - 如何编写脚本多次运行程序并将时间存储在文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56503543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com