Problem:
W przypadku chęci mapowania dysków należy znaleźć vhost-a na podstawie numeru partycji, problem jest tylko jeden: numer ten jest w postaci szesnastkowej.
SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost69 U9117.MMA.10F2F1A-V3-C69 0x00000045
Rozwiązanie:
Perl bardzo łatwo pozwala sformatować oraz konwertować między systemem dziesiętnym a szesnastkowym:
ziutus@sv21 [/home/ziutus]# perl -e "printf(\"0x%08x\n\", 69)" 0x00000045
Gdzie:
- 0x wyświetla po prostu napis 0x
- %x – konwertuje na system szesnastkowy,
- 8 formatuje wynik aby wyświetlał 8 pól,
- 0 – oznacza uzupełnienie brakujących znaków zerami,
Stąd napis 0x08x oznacza: ciąg znaków zaczynający sie „0x”, następnie liczba szesnastkowa o długości 8 znaków, której brakujące liczby będą uzupełnione zerami.
A jak sprawdzić jaka liczba dziesiętna odpowiada szesnastkowej 0x00000045? Bardzo prosto:
[0]$ perl -e "printf(\"%d\n\", 0x00000045)" 69