|
datafile:
------------------------------------------------
'abc' 'abc' 'sss' -a '/usr/bin/aaa' -t '005' -s '030' ----first1
'abc' 'abc' 'sss' -a '/usr/bin/bbb' +d -t '005' -s '010' ----first2
'abc' 'abc' 'sss' -a '/usr/bin/ccc' +d -h -t '005' -s '111' ----first3
'abc' 'abc' 'sss' -a '/usr/sbin/ddd' -t '5' -s\ ----first4
'abc' 'abc' 'sss' -a '/usr/bin/aaa' +C +d -t '005' -s '090' ----first5
'abc' 'abc' 'sss' -a '/usr/bin/ccc' -t '5' -s '111' ----first6
'abc' 'abc' 'sss' -a '/usr/bin/eee' +d -t '005' -s\ ----first7
'abc' 'abc' 'sss' -a '/usr/bin/ddd http /root/httplog.html' -t '010' -s '010' ----first8
'abc' 'abc' 'sss' -a '/usr/bin/ddd sshd /root/sshdlog.html' -t '005' -s '010' ----first9
---------------------------------------------------
共有5000条记录, 就不多写了. 特点是: 每行都不太一样, 无法用一个标准的分割符分隔. 空格和tab都不行; 有" ' "单引号, 需要去除; 有的项有单引号包括, 有的项没有. 但是前三项是一样的, 都是'abc' 'abc' 'sss'. 需要读取的结果是 sss /xxx ----firstxx. 也就是第三项, -a 后的一项 (也就是程序名), 和最后一项. 比如:
sss /usr/bin/aaa ---first1
sss /usr/bin/bbb ----first2
...
试了好久也没有一个比较好的方法:confused:, 请叫如何写才能输出这样的结果. 最好就是shell cmd. 简短的shell script 也行.
非常感谢! |
|