Добавьте 10 к значению в большом XML-файле

Вам необходимо передать имя файла в качестве параметра в сценарий

#!/bin/bash
# myscript.sh
FILENAME=$1

echo "This is the filename:" $FILENAME

, то вот как вы позвоните скрипту

./myscript.sh thisfile.txt

быть выходом для сценария

This is the filename: thisfile.txt
1
26.11.2014, 15:21
1 ответ

Мой ответ с awk:

awk -F'[ ")>]' '/\<svg\:g transform\=\"matrix\(/ {sub($(NF-3), 10+$(NF-3))}1' infile > outfile

команда awk с опция-F определяют пространство , " , ) и > как разделители полей. затем поиск строки, которая содержит образец , , $ (NF-2) -> последний ) и наконец , $ (NF-3) -> является моим требуемым значением, которое хочет добавить +10 значений.

<svg:g transform="matrix(1 0 0 1 59.06  88.74    )        "      >
                                       $(NF-3) $(NF-2) $(NF-1) $(NF)

Вход:

<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)">

Вывод:

<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)">
0
28.01.2020, 01:48

Теги

Похожие вопросы