Увеличение номера сборки в bash

Это не полный ответ, но мои ключи шифрования работают с ipv6.

так что два возможных ответа. Я тупой и перепутал ssh-ключи в миллиард раз с моими ip-адресами, (весьма вероятно ), но я все еще не могу подключиться, когда пытаюсь ввести ipv4-адрес с ключами шифрования

Итак, я сделал что-то, чтобы ssh разрешал ключи шифрования только с ipv6? Я не знаю, если это вообще вещь, или как и почему. И почему ipv4 будет работать без шифрования?

5
28.01.2020, 17:35
4 ответа
awk -F '= ' '/CURRENT_PROJECT_VERSION/{$2=$2+1";"}1' OFS='= ' input > output

Тесты

cat file
SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 4;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 4;

awk -F '= ' '/CURRENT_PROJECT_VERSION/{$2=$2+1";"}1' OFS='= ' file
SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
7
28.04.2021, 23:25

С sed и bash:

FILE="test.txt"
REGEX="\(CURRENT_PROJECT_VERSION *= *\)\([0-9]\+\);"

version=$(sed -ne "s/${REGEX}/\2/p" ${FILE} | head -1)
((version++))

sed -ie "s/${REGEX}/\1${version};/" ${FILE}
2
28.04.2021, 23:25

С помощью perlизменение файла в -место:

perl -pi -e 's/\bCURRENT_PROJECT_VERSION\s*=\s*\K-?\d+/$& + 1/ge' test.txt
2
28.04.2021, 23:25

Другой ответ, использующий только awk. Это предполагает, что вы придерживаетесь синтаксиса key <space> = <space> value;во всем :

.
awk '$1 == "CURRENT_PROJECT_VERSION" {$3=($3+1)";"}1' testfile.txt

Это увеличивает третье поле на 1 во всех строках, начинающихся с CURRENT_PROJECT_NUMBER, но в противном случае печатает все строки "как есть" (это значение 1за кодовым блоком ).

Обратите внимание, что я не уверен, является ли переносимым синтаксис «увеличивать что-либо , начиная с числа», поэтому, чтобы быть уверенным (и лишь немного длиннее ), мы можем удалить конечный точка с запятой из поля 3 перед увеличением:

awk '$1 == "CURRENT_PROJECT_VERSION" {sub(";","",$3); $3=($3+1)";"}1' testfile.txt
3
28.04.2021, 23:25

Теги

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