Я хотел бы увеличить номер сборки в файле как часть процесса сборки.
Цель сценария - поиск .###'/* BUILD-NUMBER */
, например:
console.log('Version 1.1.017'/* BUILD-NUMBER */);
Разобрать 017
, добавить один, затем sprint
его обратно.Вот код, который у меня есть:
perl -pe "s~\.([0-9]+)'/\* BUILD-NUMBER \*/~(sprintf('.%03d%c/* BUILD-NUMBER */', $1, 39))~e" < $U > $T
39
должен совпадать с %c
, чтобы напечатать апостроф '
, потому что я не мог понять, как вставить его буквально.(Это входит в скрипт bash.)
В любом случае, когда я запускаю вышеизложенное, оно возвращается:
console.log('Version 1.1.001'/* BUILD-NUMBER */);
Так что, я думаю, что это не номер.Я пробовал $0
, $1
, \g1
и т. Д., Но это возвращает некоторые странные вещи.Нигде не видно 17
.
Кроме того, начальные нули в номере сборки заставят perl
интерпретировать строку как восьмеричную?(Причина использования 017
в качестве контрольного примера, чтобы увидеть, вернется ли он как 016
или 018
.)