- 论坛徽章:
- 0
|
本帖最后由 Tennessee3Waltz 于 2011-03-20 14:28 编辑
本人是shell菜鸟,碰到一个筛选日志的问题,脚本写不出来,请教论坛里的同行。
源文件是:- <a class="name" name="suite_C-plane.CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO" title="C-plane.CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO">CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO</a>
- <td class="msg">error: (10060, 'Operation timed out')</td>
- <a class="name" name="suite_C-plane.CN4240-TD LTE CP Counters Paging 20M SISO" title="C-plane.CN4240-TD LTE CP Counters Paging 20M SISO">CN4240-TD LTE CP Counters Paging 20M SISO</a>
- <td class="msg">IndexError: list index out of range</td>
- <a class="name" name="suite_C-plane.CN4240-TD LTE CP Counters S1 SETUP 20M SISO" title="C-plane.CN4240-TD LTE CP Counters S1 SETUP 20M SISO">CN4240-TD LTE CP Counters S1 SETUP 20M SISO</a>
- <td class="msg">'D:\TestCase\trunk\log\UDPLog_Thu_Mar_17_23_21_28_2011.log' does not contain '[u'now OnAir', u'PBCH']'</td>
- <td class="msg">'D:\TestCase\trunk\log\UDPLog_Thu_Mar_17_23_21_28_2011.log' does not contain '[u'now OnAir', u'PBCH']'</td>
- <td class="msg">IndexError: list index out of range</td>
复制代码 现在目标是写shell指令,把红色部分提出出来:
<a class="name" name="suite_C-plane.CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO" title="C-plane.CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO">CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO</a>
<td class="msg">error: (10060, 'Operation timed out')</td>
<a class="name" name="suite_C-plane.CN4240-TD LTE CP Counters Paging 20M SISO" title="C-plane.CN4240-TD LTE CP Counters Paging 20M SISO">CN4240-TD LTE CP Counters Paging 20M SISO</a>
<td class="msg">IndexError: list index out of range</td>
<a class="name" name="suite_C-plane.CN4240-TD LTE CP Counters S1 SETUP 20M SISO" title="C-plane.CN4240-TD LTE CP Counters S1 SETUP 20M SISO">CN4240-TD LTE CP Counters S1 SETUP 20M SISO</a>
<td class="msg">'D:\TestCase\trunk\log\UDPLog_Thu_Mar_17_23_21_28_2011.log' does not contain '[u'now OnAir', u'PBCH']'</td>
<td class="msg">'D:\TestCase\trunk\log\UDPLog_Thu_Mar_17_23_21_28_2011.log' does not contain '[u'now OnAir', u'PBCH']'</td>
<td class="msg">IndexError: list index out of range</td>
问题一:
我会写出每行提出的东西,比如第一行的筛选命令:awk 'BEGIN {FS="\""} {print $4}' | awk 'BEGIN {FS="."} {print $2}';我也会写第二行的筛选命令。可是这两套筛选标准的命令不一样,我如何对所有行写一个命令?
问题二:
代码中每一个class=“name”下的下一行可能有多行的class=“msg”,我只需要取多个msg中的第一行。我如何做到呢?
问题三:
代码输出时我想加点注释再输出,比如:
SUITE NAME:CN4240-TD LTE CP Counters ENB EPS BEARER REL REQ RNL RLF 20M SISO;
ERROR MASSAGE:error: (10060, 'Operation timed out');
SUITE NAME:CN4240-TD LTE CP Counters Paging 20M SISO;
ERROR MASSAGE:IndexError: list index out of range;
红色部分为注释。每行的注释我也还是会加,但是奇数行和偶数行的注释不一样怎么办呢?
问完了,问了这么多问题。好期待有高手帮我解答 会有人解答吗? |
|