我需要有用的命令来使用 awk 或 sed 匹配字符串“/pci.../pci.../pci..../scsi..../disk...”?(我需要将此命令放入我的 ksh 脚本中)
备注 1 [...] 可以是任何字符串,并且“pci pci pci scsi disk”是默认字符串 备注 2 我有 Solaris 机器,因此语法应该适合 Solaris
例子
prtpicl -v |grep :disk0 | awk '{print $2}'
给出输出
/pci@0/pci@0/pci@2/scsi@0/disk@0
答案1
prtpicl -v \
| egrep ':disk0.*/pci[^/]+/pci[^/]+/pci[^/]+/scsi[^/]+/disk' \
| awk '{print $2}'
例如
$ 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