如何从lsscsi命令显示特定的内存?

我需要从lsscsi命令grep特定的lsscsi

例如:

 [root@e15l1 ~]# lsscsi 4 0 1 | awk '{print $1,$6}' | head [4:0:1:0] - [4:0:1:1] /dev/sdab [4:0:1:2] /dev/sdj [4:0:1:3] /dev/sdz [4:0:1:4] /dev/sdk [4:0:1:12] /dev/sdo [4:0:1:13] /dev/sdp [4:0:1:38] /dev/sdad 

我怎么能grep只有第一,十二和十三?

我正在使用: lsscsi | awk '{ print $1,$6 }' | grep -w 4:0:1 | egrep -w '1|1[2-3]' lsscsi | awk '{ print $1,$6 }' | grep -w 4:0:1 | egrep -w '1|1[2-3]'

问题是当我正在寻找一个与其他scsi条目数相同的lun 。 例如,在我的情况下,searchlun 1将提供整个输出,因为我的ID也是1.与lun 4(适当的Host adapter )相同…

输出应该如下例所示, scsi条目和/dev/...

尝试这个:

 lsscsi 4 0 1 | sed -r '/\[4:0:1:(1|12|13)\].*/!d' 

输出将是:

 [4:0:1:1] /dev/sdab [4:0:1:12] /dev/sdo [4:0:1:13] /dev/sdp 

这应该工作,而不pipe行中的任何其他数字:

 egrep '^\[\d+:\d+:\d+:(1|12|13)\]' 

也许还需要反斜杠,而不是在电脑atm检查。

对于例如(2 [0-8])的范围替代(1 | 2 | 13)