我有一个包含页眉和页脚的文件,并且数据经过多次迭代(带有页眉和页脚),我想定界数据,并且不希望页眉页脚。我的目的是为了进行数据分析以进行性能分析,只是分析工作并不顺利。
文件中的数据:
09:31:56 12/13/11 r/w I/O per second KBytes per sec Svt ms IOSz KB
VVname Cur Avg Max Cur Avg Max Cur Avg Cur Avg Qlen
admin r 0 0 0 0 0 0 0.0 0.0 0.0 0.0 -
admin w 17 17 17 68 68 68 0.2 0.2 4.1 4.1 -
admin t 17 17 17 68 68 68 0.2 0.2 4.1 4.1 0
z0001_app0136_s.254 r 0 0 0 0 0 0 0.0 0.0 0.0 0.0 -
z0001_app0136_s.254 w 0 0 0 0 0 0 0.0 0.0 0.0 0.0 -
z0001_app0136_s.254 t 0 0 0 0 0 0 0.0 0.0 0.0 0.0 0
....................
....................
-----------------------------------------------------------------------------------
Footer 394 r 87 87 4354 4354 2.7 2.7 49.9 49.9 -
Footer 394 w 126 126 906 906 0.1 0.1 7.2 7.2 -
Footer 394 t 213 213 5260 5260 1.2 1.2 24.7 24.7 0
09:32:57 12/13/11 r/w I/O per second KBytes per sec Svt ms IOSz KB
VVname Cur Avg Max Cur Avg Max Cur Avg Cur Avg Qlen
admin r 0 0 0 0 0 0 0.0 0.0 0.0 0.0 -
admin w 32 24 32 130 99 130 0.2 0.2 4.1 4.1 -
admin t 32 24 32 130 99 130 0.2 0.2 4.1 4.1 0
z0001_app0136_s.254 r 0 0 0 0 0 0 0.0 0.0 0.0 0.0 -
z0001_app0136_s.254 w 0 0 0 0 0 0 0.0 0.0 0.0 0.0 -
文件中的数据又一次又一次地遍历。
最佳答案
清除此类数据的常用方法是使用grep,以选择所需的数据或排除不需要的数据。在这种情况下,看起来所有所需的行都有一个字母(r,t或w),每边都有一个空格,而所有不需要的行都没有。 (编辑:页脚行稍后添加到问题中,因此添加了grep -v
命令以排除页脚。)
如果数据在文件d中,您将说:
grep ' [rtw] ' d | grep -v Footer
然后选择数据行,但不选择页眉,页脚或空白行。要使用数据创建名为t的文件,请说:
grep ' [rtw] ' d | grep -v Footer > t
如果实际数据(相对于出现的问题)使用制表符或空格而不是空格,请使用
'[[:space:]][rtw][[:space:]]'
作为搜索字符串,而不是' [rtw] '
。另外,当不使用-i时,grep区分大小写。如果排除的术语同时出现(有时是大写,有时是小写),则对grep选项使用-iv
而不是-v
:grep '[[:space:]][rtw][[:space:]]' d | grep -iv footer > t
关于linux - 想要从具有页眉页脚的文件中分隔数据,以便数据整理以进行性能分析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12523967/