我有一个看起来像这样的文件:
$cat myfile.dat
Number of reps: nrep= 19230
flop count: nops= 4725964800.
Clock resolution is 4.7619047619047619E-4 , usecs
time = 7.18247611075639725E-6
calc 0: time= 2.902 Gflop/s= 1.629 error= 0.00000000
calc 201: time= 1.186 Gflop/s= 3.985 error= 0.00000000
Number of reps: nrep= 13456
flop count: nops= 4234564800.
Clock resolution is 3.7619047619047619E-4 , usecs
time = 7.18247611075639725E-6
calc 0: time= 1.232 Gflop/s= 2.456 error= 0.00000000
calc 201: time= 3.186 Gflop/s= 1.345 error= 0.00000000
我有兴趣过滤我需要的内容: ,nrep
但这只是以 . 开头的行的最后两个。time
Gflop/s
calc 201
到目前为止,我已经设法过滤了我想要的内容,除了元素time
和Gflop/s
. 这就是我所做的:
awk -F'= ?' '/nrep=/||/time=/||/Gflop/{print $2}' myfile.dat
19230
2.902 Gflop/s
1.186 Gflop/s
13456
1.232 Gflop/s
3.186 Gflop/s
这显然是错误的。我需要的是,理想情况下在列中是:
19230 1.186 3.985
13456 3.186 1.345
有没有一种合理的方式来做到这一点?