I put this function often in .profile from root, you can have a comma format using: pcmpathq -c
# List disks serial number pcmpathq () { verbose=$1 if [ "$verbose" != "-c" ] then printf "##################################################################################################################################\n" printf "%-15s %-25s %-15s %-15s %-37s %-10s %-10s\n" '#'HDISK PVID VG MANUFACTURER STORAGE-DISK_SERIAL TYPE DISK_SZ printf "##################################################################################################################################\n" fi for line in $(lspv -u | sed 's/\ /;/g') do typeset -Z4 diskid hdisk=$(echo $line | sed 's/;/\ /g' | awk '{print $1}') disksz=$(bootinfo -r $hdisk) pvid=$(echo $line | sed 's/;/\ /g' | awk '{print $2}') vg=$(echo $line | sed 's/;/\ /g' | awk '{print $3}') diskfull=$(echo $line | cut -c80- | sed 's/;/\ /g' | rev | awk '{print $2,$3,$4,$5}' | rev | sed 's/\ //g') endline=$(echo $diskfull | sed 's/[0-9]/\ /g' | rev | awk '{print $1}' | rev) if [ $(echo $endline | grep vscsi > /dev/null; echo $?) -eq 0 ] then type=vscsi if [ $(echo $diskfull | grep "NVDISK" > /dev/null; echo $?) -eq 0 ] then diskfull=$(echo $diskfull | cut -c6-51) else diskfull=$(echo $diskfull | cut -c9- | sed 's/fcp/\ /' | awk '{print $1}') fi else if [ $(echo $endline) == "IBMsas" ] then type=sas else type=fcp diskfull=$(echo $diskfull | cut -c5- | sed 's/fcp/\ /' | awk '{print $1}') fi fi manufacturer=$(echo $diskfull | rev | sed 's/[0-9]/\ /g' | awk '{print $1}' | rev) if [ "$manufacturer" == "HITACHI" ] then serial=$(echo $diskfull | cut -c1-8) hexadiskid=$(echo $diskfull | cut -c9-12) diskid=$(printf "%d\n" 0x$hexadiskid) else if [ "$manufacturer" == "IBM" ] # for DS8k then if [ $(echo $diskfull | rev | cut -c6-9 | rev) == "2145" ] then # SVC disk typeset -Z2 diskid serial=$(echo $diskfull | cut -c2-33) diskid="NA" else # DS8000 disks serial=$(echo $diskfull | cut -c1-7) diskid=$(echo $diskfull | cut -c8-11) fi else typeset -Z2 diskid if [ "$manufacturer" == "DataCore" ] then serial=$(lscfg -vpl $hdisk | grep "Device Specific" | grep "(Z0)" | sed 's/\./\ /g' | rev | awk '{print $1}' | rev) diskid="NA" else if [ "$manufacturer" == "NVDISK" ] then serial=$(echo $diskfull | cut -c1-32 | tr 'A-Z' 'a-z') diskid="" else serial="NA" diskid="NA" fi fi fi fi if [ "$verbose" != "-c" ] then printf "%-15s %-25s %-15s %-15s %-37s %-10s %-10s\n" $hdisk $pvid $vg $manufacturer "$serial $diskid" $type $disksz else echo $hdisk";"$pvid";"$vg";"$manufacturer";"${serial}${diskid}";"$type";"$disksz fi done }