OSX 正在解析 system_profiler- 光纤卡信息
OSX Parsing system_profiler- Fibre card info
我只想提取密钥。我尝试使用 plistbuddy 和 xmllint --xpath 但似乎得到了正确的组合。我不能为 "spfibrechannel_portworldwidename" 做一个简单的 grep,因为这会出现很多次。我必须能够使用 xml 位置来识别它。
spfibrechannel_portworldwidename
24:01:00:01:55:5B:67:5A
spfibrechannel_portworldwidename
24:02:00:01:55:5B:67:5A
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>_SPCommandLineArguments</key>
<array>
<string>/usr/sbin/system_profiler</string>
</array>
<key>_SPCompletionInterval</key>
<real>0.4425880312919617</real>
<key>_SPResponseTime</key>
<real>0.5688720345497131</real>
<key>_dataType</key>
<string>SPFibreChannelDataType</string>
<key>_detailLevel</key>
<integer>-1</integer>
<key>_items</key>
<array>
<dict>
<key>_items</key>
<array>
<dict>
<key>_items</key>
<array>
<dict>
<key>_name</key>
<string>SCSI Logical Unit @ 5</string>
<key>bsd_name</key>
<string>disk6</string>
<key>detachable_drive</key>
<string>no</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>partition_map_type</key>
<string>unknown_partition_map_type</string>
<key>removable_media</key>
<string>yes</string>
<key>size</key>
<string>17.82 TB</string>
<key>size_in_bytes</key>
<integer>17816837947392</integer>
<key>smart_status</key>
<string>Not Supported</string>
<key>spfibrechannel_alua_support</key>
<string>Implicit</string>
<key>spfibrechannel_load_balancing_algorithm</key>
<string>Least Bytes</string>
<key>spfibrechannel_logical_unit_access_state</key>
<string>Active Non-Optimized</string>
<key>spfibrechannel_logical_unit_unique_id</key>
<string>0x6000402005E01DD678BD626000000000</string>
<key>spfibrechannel_lun</key>
<string>00:05:00:00:00:00:00:00</string>
</dict>
</array>
<key>_name</key>
<string>SCSI Target Device @ 0</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>spfibrechannel_addressidentifier</key>
<string>03:00:00</string>
<key>spfibrechannel_device_type</key>
<integer>0</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>20:05:00:04:02:E7:1D:D6</string>
<key>spfibrechannel_portworldwidename</key>
<string>50:00:40:20:05:E7:1D:D6</string>
<key>spfibrechannel_target</key>
<string>0</string>
</dict>
</array>
<key>_name</key>
<string>Fibre Channel Domain 4</string>
<key>spfibrechannel_addressidentifier</key>
<string>01:00:00</string>
<key>spfibrechannel_cablingtype</key>
<string>Fiber Optic</string>
<key>spfibrechannel_initiatorid</key>
<integer>3791655135</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>23:00:00:01:55:5B:67:5A</string>
<key>spfibrechannel_portdescription</key>
<string>Port 0</string>
<key>spfibrechannel_portspeed</key>
<string>4 Gigabit</string>
<key>spfibrechannel_portstatus</key>
<string>Link Established</string>
<key>spfibrechannel_porttopology</key>
<string>Automatic (N_Port)</string>
<key>spfibrechannel_portworldwidename</key>
<string>24:01:00:01:55:5B:67:AA</string>
<key>spfibrechannel_product</key>
<string>SANLINK 2</string>
<key>spfibrechannel_revision</key>
<string>Firmware 1.1.58.0 Hardware b</string>
<key>spfibrechannel_vendor</key>
<string>Promise</string>
</dict>
<dict>
<key>_items</key>
<array>
<dict>
<key>_items</key>
<array>
<dict>
<key>_name</key>
<string>SCSI Logical Unit @ 5</string>
<key>bsd_name</key>
<string>disk6</string>
<key>detachable_drive</key>
<string>no</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>partition_map_type</key>
<string>unknown_partition_map_type</string>
<key>removable_media</key>
<string>yes</string>
<key>size</key>
<string>17.82 TB</string>
<key>size_in_bytes</key>
<integer>17816837947392</integer>
<key>smart_status</key>
<string>Not Supported</string>
<key>spfibrechannel_alua_support</key>
<string>Implicit</string>
<key>spfibrechannel_load_balancing_algorithm</key>
<string>Least Bytes</string>
<key>spfibrechannel_logical_unit_access_state</key>
<string>Active Non-Optimized</string>
<key>spfibrechannel_logical_unit_unique_id</key>
<string>0x6000402005E01DD678BD626000000000</string>
<key>spfibrechannel_lun</key>
<string>00:05:00:00:00:00:00:00</string>
</dict>
</array>
<key>_name</key>
<string>SCSI Target Device @ 0</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>spfibrechannel_addressidentifier</key>
<string>03:00:00</string>
<key>spfibrechannel_device_type</key>
<integer>0</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>20:05:00:04:02:E7:1D:D6</string>
<key>spfibrechannel_portworldwidename</key>
<string>50:00:40:20:05:E7:1D:D6</string>
<key>spfibrechannel_target</key>
<string>0</string>
</dict>
</array>
<key>spfibrechannel_initiatorid</key>
<integer>3791655135</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>23:00:00:01:55:5B:67:5A</string>
<key>spfibrechannel_portdescription</key>
<string>Port 1</string>
<key>spfibrechannel_portspeed</key>
<string>4 Gigabit</string>
<key>spfibrechannel_portstatus</key>
<string>Link Established</string>
<key>spfibrechannel_porttopology</key>
<string>Automatic (N_Port)</string>
<key>spfibrechannel_portworldwidename</key>
<string>24:02:00:01:55:5B:67:5A</string>
<key>spfibrechannel_product</key>
<string>SANLINK 2</string>
<key>spfibrechannel_revision</key>
<string>Firmware 1.1.58.0 Hardware b</string>
<key>spfibrechannel_vendor</key>
<string>Promise</string>
</dict>
</array>
<key>_versionInfo</key>
<dict>
<key>com.apple.SystemProfiler.SPFibreChannelReporter</key>
<string>2.1.1</string>
</dict>
</dict>
</array>
</plist>
通过不同的方法解决...
system_profiler SPFibreChannelDataType | grep -A 9 "Fibre Channel Domain [0-9]" |grep "Port World Wide Name" |awk '{print }' | sed -n '1p'
我只想提取密钥。我尝试使用 plistbuddy 和 xmllint --xpath 但似乎得到了正确的组合。我不能为 "spfibrechannel_portworldwidename" 做一个简单的 grep,因为这会出现很多次。我必须能够使用 xml 位置来识别它。
spfibrechannel_portworldwidename 24:01:00:01:55:5B:67:5A
spfibrechannel_portworldwidename 24:02:00:01:55:5B:67:5A
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>_SPCommandLineArguments</key>
<array>
<string>/usr/sbin/system_profiler</string>
</array>
<key>_SPCompletionInterval</key>
<real>0.4425880312919617</real>
<key>_SPResponseTime</key>
<real>0.5688720345497131</real>
<key>_dataType</key>
<string>SPFibreChannelDataType</string>
<key>_detailLevel</key>
<integer>-1</integer>
<key>_items</key>
<array>
<dict>
<key>_items</key>
<array>
<dict>
<key>_items</key>
<array>
<dict>
<key>_name</key>
<string>SCSI Logical Unit @ 5</string>
<key>bsd_name</key>
<string>disk6</string>
<key>detachable_drive</key>
<string>no</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>partition_map_type</key>
<string>unknown_partition_map_type</string>
<key>removable_media</key>
<string>yes</string>
<key>size</key>
<string>17.82 TB</string>
<key>size_in_bytes</key>
<integer>17816837947392</integer>
<key>smart_status</key>
<string>Not Supported</string>
<key>spfibrechannel_alua_support</key>
<string>Implicit</string>
<key>spfibrechannel_load_balancing_algorithm</key>
<string>Least Bytes</string>
<key>spfibrechannel_logical_unit_access_state</key>
<string>Active Non-Optimized</string>
<key>spfibrechannel_logical_unit_unique_id</key>
<string>0x6000402005E01DD678BD626000000000</string>
<key>spfibrechannel_lun</key>
<string>00:05:00:00:00:00:00:00</string>
</dict>
</array>
<key>_name</key>
<string>SCSI Target Device @ 0</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>spfibrechannel_addressidentifier</key>
<string>03:00:00</string>
<key>spfibrechannel_device_type</key>
<integer>0</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>20:05:00:04:02:E7:1D:D6</string>
<key>spfibrechannel_portworldwidename</key>
<string>50:00:40:20:05:E7:1D:D6</string>
<key>spfibrechannel_target</key>
<string>0</string>
</dict>
</array>
<key>_name</key>
<string>Fibre Channel Domain 4</string>
<key>spfibrechannel_addressidentifier</key>
<string>01:00:00</string>
<key>spfibrechannel_cablingtype</key>
<string>Fiber Optic</string>
<key>spfibrechannel_initiatorid</key>
<integer>3791655135</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>23:00:00:01:55:5B:67:5A</string>
<key>spfibrechannel_portdescription</key>
<string>Port 0</string>
<key>spfibrechannel_portspeed</key>
<string>4 Gigabit</string>
<key>spfibrechannel_portstatus</key>
<string>Link Established</string>
<key>spfibrechannel_porttopology</key>
<string>Automatic (N_Port)</string>
<key>spfibrechannel_portworldwidename</key>
<string>24:01:00:01:55:5B:67:AA</string>
<key>spfibrechannel_product</key>
<string>SANLINK 2</string>
<key>spfibrechannel_revision</key>
<string>Firmware 1.1.58.0 Hardware b</string>
<key>spfibrechannel_vendor</key>
<string>Promise</string>
</dict>
<dict>
<key>_items</key>
<array>
<dict>
<key>_items</key>
<array>
<dict>
<key>_name</key>
<string>SCSI Logical Unit @ 5</string>
<key>bsd_name</key>
<string>disk6</string>
<key>detachable_drive</key>
<string>no</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>partition_map_type</key>
<string>unknown_partition_map_type</string>
<key>removable_media</key>
<string>yes</string>
<key>size</key>
<string>17.82 TB</string>
<key>size_in_bytes</key>
<integer>17816837947392</integer>
<key>smart_status</key>
<string>Not Supported</string>
<key>spfibrechannel_alua_support</key>
<string>Implicit</string>
<key>spfibrechannel_load_balancing_algorithm</key>
<string>Least Bytes</string>
<key>spfibrechannel_logical_unit_access_state</key>
<string>Active Non-Optimized</string>
<key>spfibrechannel_logical_unit_unique_id</key>
<string>0x6000402005E01DD678BD626000000000</string>
<key>spfibrechannel_lun</key>
<string>00:05:00:00:00:00:00:00</string>
</dict>
</array>
<key>_name</key>
<string>SCSI Target Device @ 0</string>
<key>device_manufacturer</key>
<string>NEXSAN</string>
<key>device_model</key>
<string>NXS-B01-000</string>
<key>device_revision</key>
<string>R011</string>
<key>spfibrechannel_addressidentifier</key>
<string>03:00:00</string>
<key>spfibrechannel_device_type</key>
<integer>0</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>20:05:00:04:02:E7:1D:D6</string>
<key>spfibrechannel_portworldwidename</key>
<string>50:00:40:20:05:E7:1D:D6</string>
<key>spfibrechannel_target</key>
<string>0</string>
</dict>
</array>
<key>spfibrechannel_initiatorid</key>
<integer>3791655135</integer>
<key>spfibrechannel_nodeworldwidename</key>
<string>23:00:00:01:55:5B:67:5A</string>
<key>spfibrechannel_portdescription</key>
<string>Port 1</string>
<key>spfibrechannel_portspeed</key>
<string>4 Gigabit</string>
<key>spfibrechannel_portstatus</key>
<string>Link Established</string>
<key>spfibrechannel_porttopology</key>
<string>Automatic (N_Port)</string>
<key>spfibrechannel_portworldwidename</key>
<string>24:02:00:01:55:5B:67:5A</string>
<key>spfibrechannel_product</key>
<string>SANLINK 2</string>
<key>spfibrechannel_revision</key>
<string>Firmware 1.1.58.0 Hardware b</string>
<key>spfibrechannel_vendor</key>
<string>Promise</string>
</dict>
</array>
<key>_versionInfo</key>
<dict>
<key>com.apple.SystemProfiler.SPFibreChannelReporter</key>
<string>2.1.1</string>
</dict>
</dict>
</array>
</plist>
通过不同的方法解决...
system_profiler SPFibreChannelDataType | grep -A 9 "Fibre Channel Domain [0-9]" |grep "Port World Wide Name" |awk '{print }' | sed -n '1p'