É um pouco mais fácil com o sed ou o perl do que com o awk. Com sed: corresponde à linha inteira, procurando partition 1
seguido por startsector 1234
(ou qualquer outra sequência de dígitos) sem ;
entre eles. Substitua toda a linha apenas pelo dígito e imprima o resultado. Você pode alterar partition 1
para partition 2
, é claro.
sed -n 's/^.*partition 1:[^;]* startsector \([0-9][0-9]*\).*$//p'
Com perl: procure por uma substring composta por partition 1
seguido por startsector 1234
sem ;
entre; salve os dígitos após startsector
em um grupo. Se houver uma correspondência, imprima os dígitos.
perl -l -ne '/partition 1:[^;]* startsector ([0-9]+)/ and print '