Se todas as linhas no arquivo forem estruturadas como o exemplo, acredito que você pode usar o programa de linha de comando cut
para tratar os sinais de porcentagem como delimitadores de campo e selecionar 2 nd e 4 th campos. Então, tente executar
cut -d "%" -f 2,4 --output-delimiter="," <file_name
Atualização:
Eu não acho que nada precise ser alterado para o outro formato porque
no padrão %string%
o comando acima vê string
como o segundo campo e o extrai. Eu tentei correr
echo "%string%" | cut -d "%" -f 2,4 --output-delimiter=","
e string
foram impressos na saída padrão.