#!/bin/bash

naa=$1

wwns=""

parse_wwn() {
    hex_str="${1#0x}"

    # 每两个字符之间加上冒号
    formatted_str=$(echo "$hex_str" | sed 's/\(..\)/\1:/g' | sed 's/:$//')

    # 输出结果
    wwns=$wwns$formatted_str\\n
}

for port_name in /sys/class/fc_host/host*/port_name;do
    if [ "$naa"n == n ];then
        parse_wwn `cat $port_name`
    else
        wwns=$wwns`sed 's/0x/naa./g' $port_name`\\n
    fi
done

echo -en $wwns | sort
