Есть вот такое:
sudo gpt show disk4
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - "EFI System Partition"
409640 976101344 2 GPT part - ""
976510984 262151
976773135 32 Sec GPT table
976773167 1 Sec GPT header
Найти строку, где ТРЕТЬЕ поле == 2, затем сложить значение из ВТОРОГО поля этой строки с значение из ВТОРОГО поля СЛЕДУЮЩЕЙ строки, сумму целочисленно разделить на 8, затем умножить на 8, результат напечатать.
Найти строку просто:
sudo gpt show disk0 | awk '$3 == 2 {print $2}'
По идее нужно значение NR найденной строки сохранить и использовать для вывода нужного поля строки с увеличенным на еденицу NR.
Но вот реализовать это за ОДИН проход у меня не получается, хотя уверен что есть простое решение.
С awk дел практически не имел, так что не судите строго.
Помогите пожалуйста!
P.S.
Нужно это что бы автоматизировать вот такой однострочный скриптик:
sudo /usr/bin/true; diskutil unmountDisk force disk4 && (sudo gpt remove -i 2 disk4 && diskutil unmountDisk force disk4 && sudo gpt add -b 409640 -i 2 -s 976363488 -t "48465300-0000-11AA-AA11-00306543ECAC" disk4 && sudo fsck_hfs -fy /dev/disk4s2 && diskutil mount /dev/disk4s2) && (echo; echo "O'K"; echo; diskutil renameVolume /dev/disk4s2 "PhotoArchive") || echo; echo "Wrong..."