GNU/Linux >> Belajar Linux >  >> Linux

Tingkatkan Nomor Bangun Di Bash?

Saya mencoba menambah nomor build dengan 1 menggunakan baris perintah.

Berikut adalah isi dari file pengujian saya:

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

Hasil yang ingin saya dapatkan adalah sebagai berikut:

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

Saya mencoba menggunakan sesuatu seperti:

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

Saya tidak berpengalaman dalam skrip bash dan saya tidak tahu bagaimana saya bisa menambah jumlahnya satu per satu. (Saya menggunakan MacOS tetapi perintah sed hampir sama dengan di Linux)

Jawaban yang Diterima:

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

Tes

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. Bagaimana cara menguji apakah suatu variabel adalah angka di Bash?

  2. Membulatkan angka yang dibagi dalam Bash

  3. Dapatkan bilangan bulat langit-langit dari angka di linux (BASH)

  1. Counter increment di Bash loop tidak berfungsi

  2. bash sh - perintah tidak ditemukan

  3. Bagaimana cara menambahkan ikon ke prompt bash

  1. Bagaimana saya bisa menghitung jumlah karakter dalam variabel Bash

  2. Menggunakan Jenkins BUILD NUMBER dalam file spesifikasi RPM

  3. Skrip Bash memproses sejumlah perintah secara paralel