GNU/Linux >> Linux Esercitazione >  >> Linux

Incrementare il numero di build in Bash?

Sto cercando di incrementare un numero di build di 1 usando la riga di comando.

Ecco il contenuto del mio file di prova:

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

Il risultato che voglio ottenere è il seguente:

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

Sto cercando di usare qualcosa come:

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

Non ho esperienza nello scripting bash e non so come aumentare il numero di uno. (Sto usando MacOS ma il comando sed è quasi lo stesso di Linux)

Risposta accettata:

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

Prove

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. Come leggere la stringa come numero esadecimale in Bash?

  2. Come posso verificare se una variabile è un numero in Bash?

  3. Arrotonda un numero diviso in Bash

  4. bash sh - comando non trovato

  5. Come aggiungere un'icona al prompt di bash

Bash Shebang

Come aumentare e diminuire la variabile in Bash (counter)

Espressione sequenza Bash (intervallo)

Bash Select (Crea menu)

Bash For Loop – La guida più pratica

Script Shell/Bash per trovare i numeri primi in Linux