Ok, eu acho uma maneira de gerar uma lista separada por vírgulas das páginas coloridas em um PDF:
gs -o - -sDEVICE=inkcov test.pdf | \
grep -v "^ 0.00000 0.00000 0.00000" | \
grep "^ \|^Page" | \
paste -sd, | \
grep -Eo '[0-9]{1,3}, ' | \
tr -d '\n'
Provavelmente não é a maneira mais elegante, mas funciona.
O código faz o seguinte:
-
leva a mesma saída como na pergunta acima e substitui as novas linhas por uma vírgula
paste -sd,
-
do que procurar números entre 1-999 seguidos por uma vírgula (a nova linha repaleada) e um espaço vazio, já que a nota colorida sempre começa com um sinal de espaço vazio
grep -Eo '[0-9]{1,3}, ''
-
no final, remove-se novamente as novas linhas da saída.
tr -d '\n'
-
O resultado seria:
1, 3, 4,