Bash: замена нескольких последовательных строк в файле другим набором строк

Просто используйте credit = credit + 7 вместо credit = '+7' в инструкции UPDATE

UPDATE tablename SET credit = credit + 7 WHERE id = 1

См. этот SQLFiddle

0
задан jean-christophe manciot 26 February 2019 в 15:22
поделиться

2 ответа

Не очень понятно, чего вы хотите достичь, поэтому, возможно, вам нужно вставить содержимое массива в файл.

Предполагая, что массив является массивом bash, вы можете использовать это:

printf "%s\n" "${online_ipv4_user_input_rules[@]}" > rules.v4

Это перезапишет содержимое файла всеми элементами массива, по 1 элементу в строке. [114 ]

0
ответ дан oliv 26 February 2019 в 15:22
поделиться

Ответ довольно прост на самом деле:

  1. Удаление первого набора правил из rules.v4

    sed -Ei '/-A ufw-user-input -s [0-9./]+ -j ufw-logging-input/d' rules.v4

  2. [ 118] Вставка второго набора правил (ранее сохраненных в rules.tmp) после правой строки в rules.v4:

    sed -i '/-A ufw-skip-to-policy-output -j DROP/r rules.tmp' rules.v4

0
ответ дан jean-christophe manciot 26 February 2019 в 15:22
поделиться
Другие вопросы по тегам:

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