我有一个返回执行时间的程序,每次运行的输出都显示在同一行的文件中。
.done()
4次运行后,这里是文件中的输出:
#include <iostream>
#include <fstream>
#include <math>
#include <boost>
using namespace std;
int main() {
std::ofstream file("MyFile.txt",std::ios_base::app);
v2 = rand() % 100 + 1; // just to burn some time
std::cout << v2 ; // just to burn some time
boost::chrono::duration<double> sec = boost::chrono::system_clock::now() - start;
file<<sec.count() << ";";
file.close();
return 0 ;
}
我希望在30次运行后,第30个结果必须显示在换行符中。没有任何添加的函数或循环会影响运行时的持续时间。我认为还有其他方法可以通过awk sed格式化输出文件。
答案 0 :(得分:0)
您可以使用awk。
awk '{ gsub(/([0-9]+(.[0-9]*)?;){30}/, "&\n"); print }' MyFile.txt
这应该在每30个\n
;