- 論壇徽章:
- 0
|
文本內(nèi)容:log1
2014-02-12T01:03:24.599Z cpu28:42479)NMP: nmp_ThrottleLogForDevice:2321: Cmd 0x85 (0x4130801e1940, 34849) to dev
"naa.600508b1001cc026e1ee67e9f99d273b" on path "vmhba0:C0:T0:L1" Failed: H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0. Act:NONE
2014-02-12T01:03:24.599Z cpu28:42479)ScsiDeviceIO: 2337: Cmd(0x4130801e1940) 0x85, CmdSN 0xf96 from world 34849 to dev
"naa.600508b1001cc026e1ee67e9f99d273b" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
2014-02-12T01:03:24.610Z cpu31:52002)ScsiDeviceIO: 2337: Cmd(0x4130801e1940) 0x4d, CmdSN 0xf97 from world 34849 to dev
"naa.600508b1001cc026e1ee67e9f99d273b" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
cat log1 | perl -ne 's/\r//g;print "$1 $2 $3 $4 $5 \n" if /(^.*? .*(Cmd.*?\)).*(naa\.\w+).*(vmhba.*?L).*(H:.*\.)/'
2014-02-12T01: Cmd 0x85 (0x4130801e1940, 34849) naa.600508b1001cc026e1ee67e9f99d273b vmhba0:C0:T0:L H:0x0 D:0x2 P:0x0 Valid sense data:
0x5 0x20 0x0.
需要匹配5個(gè)字段,其中包括vmhba的 記錄,結(jié)果是輸出第一行匹配后的內(nèi)容,其他沒(méi)有包含hba的記錄都沒(méi)有匹配成功。
cat log1 | perl -ne 's/\r//g;print "$1 $2 $3 $4 $5 \n" if /(^.*? .*(Cmd.*?\)).*(naa\.\w+).*(H:.*\.)/'
2014-02-12T01: Cmd 0x85 (0x4130801e1940, 34849) naa.600508b1001cc026e1ee67e9f99d273b H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
2014-02-12T01: Cmd(0x4130801e1940) naa.600508b1001cc026e1ee67e9f99d273b H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
2014-02-12T01: Cmd(0x4130801e1940) naa.600508b1001cc026e1ee67e9f99d273b H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
需要匹配4個(gè)字段,但是去掉了匹配vmhba的表達(dá)式,輸出了所有記錄。
cat log1 | perl -ne 's/\r//g;print "$1 $2 $3 $4 $5 \n" if /(^.*? .*(Cmd.*?\)).*(naa\.\w+).*((?:vmhba.*?L){0,1}).*(H:.*\.)/'
2014-02-12T01: Cmd 0x85 (0x4130801e1940, 34849) naa.600508b1001cc026e1ee67e9f99d273b H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
2014-02-12T01: Cmd(0x4130801e1940) naa.600508b1001cc026e1ee67e9f99d273b H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
2014-02-12T01: Cmd(0x4130801e1940) naa.600508b1001cc026e1ee67e9f99d273b H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0.
使用非捕獲分組后對(duì)分組匹配一次,實(shí)際上和第一個(gè)一樣,應(yīng)該是匹配了0之后就結(jié)束了?
如果把{n,m}改成?號(hào),實(shí)際上只按0次匹配,和{0,1}是一樣的吧。。。
請(qǐng)問(wèn)有沒(méi)有什么辦法讓這個(gè)正則先匹配vmhba.*?L一次,如果成功那么返回改分組變量;如果沒(méi)有匹配到vmhba.*?L,那么匹配0次。
這個(gè)好像是一個(gè)類似{1,0}的概念,但是n必須小于等于m。
除了用條件語(yǔ)句對(duì)記錄分別進(jìn)行處理,還有沒(méi)有只用正則表達(dá)式解決的方法呢?
附加問(wèn)題:$1 $2 $3..有沒(méi)有哪個(gè)默認(rèn)數(shù)組保存這幾個(gè)記錄的? |
|