grep跨多个日志文件的最近条目

时间:2015-02-17 20:33:09

标签: matlab unix logging grep

我在MATLAB中运行一个作业数组,它基本上是两个嵌套的FOR循环,但是同时跨越60个节点(即60个日志文件)。我希望能够同时获得所有工作的状态。 每个日志文件输出" index1 = 1 of 100"对于外循环," index2 = 1的X"其中X是可变的,有时是100,有时是60,000。我想知道的是index1的状态。

> grep index1 *.out

将所有日志文件中的所有内容转储。

> tail -n 100 | grep index1 *.out

更好,但如果X很大,它什么都没有,如果X很小则输出太多。 我认为我需要的伪代码:

  1. 在所有文件中grep index1(以某种方式保留文件名)
  2. 仅保留每个文件的最后一个条目
  3. 输出到STDOUT或文件
  4. 注意:我已经编写了MATLAB代码,因此我也可以更改日志文件条目的结构/外观以使其更容易。

1 个答案:

答案 0 :(得分:0)

如果您现在要编号文件名,请尝试:

for file in *.out; do grep -H index1 $file | tail -n 1; done

或者如果您不需要:

for file in *.out; do grep index1 $file | tail -n 1; done