Хочу сделать автоподсчёт версии через awk/sed/grep. Ковырялся вчера, получилось что-то такое
Для Windows
gawk "BEGIN {FS=\"=\"} /^VERSION_BUILD/ {print $2+1}" version.pri
sed "s/^VERSION_BUILD.*=.*/VERSION_BUILD=5/" version.pri > version.pri.new
move /y version.pri.new version.pri
Для FreeBSD (и по идее Linux'ов всяких).
awk 'BEGIN {FS="="} /^VERSION_BUILD/ {print $2+1}' version.pri
sed 's/^VERSION_BUILD.*=.*/VERSION_BUILD=5/' version.pri > version.pri.new
mv version.pri.new version.pri
В первой строке определение новой версии, во второй подмена старой версии на VERSION_BUILD=5. Ну это так, для тестов. Подскажите, как это можно объединить и желательно впихнуть в PRO-файл? А то у меня Qt вообще начинает с ума сходить после попыток выполнить это, пробовал экранировать спец.символы - без результата, хотя в консоли всё отлично.
Вообще по идее это может быть и однострочная команда
awk 'BEGIN {FS="="} /^VERSION_BUILD/ {print "sed \047s/^VERSION_BUILD.*=.*/VERSION_BUILD =",$2+1,"/\047",FILENAME }' 3gmonitor.pri
gawk "BEGIN {FS=\"=\"} /^VERSION_BUILD/ {print \"sed \047s/^VERSION_BUILD.*=.*/VERSION_BUILD =\",$2+1,\"/\047\",FILENAME }" 3gmonitor.pri
print выводит правильную команду, но пытался заменить print на command(), чтобы это выполнилось - awk дохнет.
И такой сугубо личный вопрос: по какому принципу минорный и мажорный номера версий меняете?