awk + sed + combinar cadeia complexa

0

Eu preciso de um comando útil para combinar com a string "/ pci ... / pci ... / pci .... / scsi .... / disk ..." com awk ou sed? (Eu preciso colocar este comando no meu script ksh)

[...] note 1 pode ser qualquer string, e "pci pci pci scsi disk" são strings padrão observação 2 eu tenho máquina Solaris para sintaxe deve caber Solaris

exemplo

       prtpicl -v |grep :disk0 | awk '{print $2}'    

dê a saída

       /pci@0/pci@0/pci@2/scsi@0/disk@0 
    
por Eytan 17.01.2012 / 12:32

1 resposta

0
prtpicl -v \
| egrep ':disk0.*/pci[^/]+/pci[^/]+/pci[^/]+/scsi[^/]+/disk' \
| awk '{print $2}'

Por exemplo

$ cat prtpicl.out
Some headings blah blah
:disk0 some uninteresting stuff
:disk0 /pci@0/pci@0/pci@2/scsi@0/disk@0
:disk1 /pci@0/pci@0/pci@2/scsi@0/disk@1
Last line

$ cat prtpicl.out \
> | egrep ':disk0.*/pci[^/]+/pci[^/]+/pci[^/]+/scsi[^/]+/disk' \
> | awk '{print $2}'
/pci@0/pci@0/pci@2/scsi@0/disk@0
    
por 17.01.2012 / 12:47