GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Build-Nummer in Bash erhöhen?

Ich versuche, eine Build-Nummer über die Befehlszeile um 1 zu erhöhen.

Hier ist der Inhalt meiner Testdatei:

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

Das Ergebnis, das ich erhalten möchte, ist das folgende:

SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;

Ich versuche, so etwas zu verwenden:

sed -i -E "s/CURRENT_PROJECT_VERSION = (\d+);/CURRENT_PROJECT_VERSION = \1~;/" test.txt

Ich habe keine Erfahrung mit Bash-Skripten und weiß nicht, wie ich die Zahl um eins erhöhen kann. (Ich verwende MacOS, aber der sed-Befehl ist fast derselbe wie unter Linux)

Akzeptierte Antwort:

awk -F '= ' '/CURRENT_PROJECT_VERSION/{$2=$2+1";"}1' OFS='= ' input > output

Tests

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;

Linux
  1. Wie liest man eine Zeichenfolge als Hex-Zahl in Bash?

  2. Wie teste ich, ob eine Variable in Bash eine Zahl ist?

  3. Runden Sie eine geteilte Zahl in Bash

  4. Holen Sie sich die Ganzzahl der Obergrenze aus der Zahl in Linux (BASH)

  5. bash sh - Befehl nicht gefunden

Bash Shebang

So erhöhen und verringern Sie die Variable in Bash (Zähler)

Bash-Sequenzausdruck (Bereich)

Bash Select (Menüs erstellen)

Bash For Loop – Die praktischste Anleitung

Shell/Bash-Skript zum Finden von Primzahlen in Linux