举个例子。我运行出来的log如下:
02-07 15:23:49: android.hardware.cts.CameraGLTest#testCameraToSurfaceTextureMetadata PASS
02-07 15:23:56: android.hardware.cts.CameraGLTest#testSetPreviewTextureBothCallbacks PASS
02-07 15:24:04: android.hardware.cts.CameraGLTest#testSetPreviewTexturePreviewCallback PASS
02-07 15:24:12: android.hardware.cts.CameraGLTest#testSetPreviewTextureTextureCallback PASS
我定义了一个数组,Fail[$Pass_Num], $Pass_Num=logcat | grep PASS, 怎样把这四行赋给数组Fail[4]。。。。
PS:还想多问句,怎么“android.hardware.cts.CameraGLTest” 和 “testCameraToSurfaceTextureMetadata”,分离出来。。。知道用grep,但不知道后面怎么用了。
请教,在shell中,如何将log打印出来的几行,赋值给数组
-
- 帖子: 9
- 注册时间: 2013-02-07 11:08
- 系统: win7
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 请教,在shell中,如何将log打印出来的几行,赋值给数组
一个for循环搞定,分割数据用cut就行了吧,用awk更强大
- jarlyyn
- 帖子: 4671
- 注册时间: 2006-04-12 18:54
- 联系:
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 9
- 注册时间: 2013-02-07 11:08
- 系统: win7
Re: 请教,在shell中,如何将log打印出来的几行,赋值给数组
我用cut已经能够把log每一行截取出“testCameraToSurfaceTextureMetadata”,下面3行同样。。。我之所以想到数组,我简单解释下工作需求吧。枫叶饭团 写了:一个for循环搞定,分割数据用cut就行了吧,用awk更强大
1楼的log是我们自动化运行的结果,里面有些会Fail,所以我们需要知道运行哪个case时fail了,“android.hardware.cts.CameraGLTest#testCameraToSurfaceTextureMetadata”,就是case的名称。我们就需要手动把这个case运行20次,看看fail的概率。因为手动需要人工输入命令,所以会耽误白天时间。我就是想把这4个case存成数组,用个for里面嵌套个for,这样每个case能自动运行手动的命令。白天来了,就能看到所以的结果了。。。。呵呵,不知道我说的明白否。。。

-
- 帖子: 9
- 注册时间: 2013-02-07 11:08
- 系统: win7
Re: 请教,在shell中,如何将log打印出来的几行,赋值给数组
可能是我表述的不清楚,我不止要提取字段,提取出的字段后面还要用。。。eexpress 写了:shell下的数组是鸡肋。
你的结果,肯定不是需要数组,而且想提取内容字段,不如直接问想要啥结果。
{
我用cut已经能够把log每一行截取出“testCameraToSurfaceTextureMetadata”,下面3行同样。。。我之所以想到数组,我简单解释下工作需求吧。
1楼的log是我们自动化运行的结果,里面有些会Fail,所以我们需要知道运行哪个case时fail了,“android.hardware.cts.CameraGLTest#testCameraToSurfaceTextureMetadata”,就是case的名称。我们就需要手动把这个case运行20次,看看fail的概率。因为手动需要人工输入命令,所以会耽误白天时间。我就是想把这4个case存成数组,用个for里面嵌套个for,这样每个case能自动运行手动的命令。白天来了,就能看到所以的结果了。。。。呵呵,不知道我说的明白否。。。
}