Minha resposta com awk
:
awk -F'[ ")>]' '/\<svg\:g transform\=\"matrix\(/ {sub($(NF-3), 10+$(NF-3))}1' infile > outfile
O comando awk
com a opção -F
define o espaço ,
"
, )
e >
como separadores de campo. em seguida, procure a linha que contém o padrão <svg:g transform="matrix(
. próximo campo de coleta $(NF-3)
e substituí-lo por 10 valor adicionado a isso.
$(NF)
- > último >
, $(NF-1)
- > é a última "
, $(NF-2)
- > é a última )
e finalmente $(NF-3)
- > é o valor desejado que deseja adicionar um valor de +10.
<svg:g transform="matrix(1 0 0 1 59.06 88.74 ) " >
$(NF-3) $(NF-2) $(NF-1) $(NF)
Entrada:
<svg:g transform="matrix(1 0 0 1 59.06 4.74)">
<svg:g transform="matrix(1 0 0 1 59.06 88.74)">
<svg:g transform="matrix(1 0 0 1 59.06 5.74)">
Saída:
<svg:g transform="matrix(1 0 0 1 59.06 14.74)">
<svg:g transform="matrix(1 0 0 1 59.06 98.74)">
<svg:g transform="matrix(1 0 0 1 59.06 15.74)">