shell求助
目标文本如下:
Cat a.txt
Reads: Reqs Data Writes: Reqs Data Small Large
Filetype Name Data per sec per sec Data per sec per sec Read Read
--------------- ------- ------- ------- ------- ------- ------- ------- -------
Data File 152.3G 2147.2 43.2473 6.4G 198.7 1.81754 1.1 14.7
Archive Log 14.1G 8.0 4.00507 2.9G 0.8 .832357 2.5 15.8
Archive Log Bac 0M 0.0 0M 14.1G 4.0 4.00064 N/A N/A
Log File 2.9G 0.8 .832357 5.3G 120.6 1.50856 0.8 6.6
Control File 2.2G 34.6 .627943 160M 2.8 .044377 0.1 2.7
Other 0M 0.0 0M 2G 18.6 .579682 0.3 N/A
Data File Backu 16M 0.0 .004437 0M 0.0 0M N/A 392.8
Temp File 0M 0.0 0M 0M 0.0 0M 0.3 N/A
TOTAL: 171.5G 2190.7 48.7171 30.9G 345.5 8.78316 1.1 14.8
Reads: Reqs Data Writes: Reqs Data Small Large
Filetype Name Data per sec per sec Data per sec per sec Read Read
--------------- ------- ------- ------- ------- ------- ------- ------- -------
Data File 38.6G 1395.2 10.9835 467M 13.3 .129646 0.4 12.3
Data File Backu 14.8G 4.2 4.19864 114M 0.0 .031648 2.0 387.5
Data File Copy 1M 0.0 .000277 14.7G 168.8 4.18032 14.6 N/A
Archive Log 6.7G 1.9 1.90527 856M 0.2 .237638 1.8 10.9
Control File 6.7G 48.8 1.90776 399M 5.1 .110768 0.1 3.2
Archive Log Bac 0M 0.0 0M 6.7G 1.9 1.90527 N/A N/A
Log File 856M 0.2 .237638 479M 33.0 .132977 0.6 6.3
Other 2M 0.1 .000555 338M 3.0 .093833 4.6 N/A
Temp File 0M 0.0 0M 0M 0.0 0M N/A N/A
TOTAL: 67.7G 1450.4 19.2337 24G 225.5 6.82210 0.4 215.1
-------------------------------------------------------------
我要提取col1,col2,col4,col5,col6 就是结果类似下面结果:
Filetype Name,Reads: Data,Data per sec,Writes: Data,Data per sec
Data File,166.7G,94.6853,12G,6.83861
Log File,9.5G,5.3961,18.6G,10.5786
Archive Log,8.7G,4.92617,9.5G,5.3961
Control File,1.6G,0.913776,154M,0.085441
Temp File,0M,0M,778M,0.431644
TOTAL:,186.4G,105.921,41.1G,23.3304
提取filetype name可以用awk '{sub(/[0-9].*/,"");print}' a.txt ,但从第一个数字到最后提取出来不知道咋弄
awk/sed/perl都可以,如果可以最好awk/sed/shell