LINUX.ORG.RU

Правильное использование sed !!!!!

 ,


0

1

Вообщем ситуация следующая, хочу с помощью утилиты sed произвести замену строки в файле *.h :

T="${PROJECT_DIR}/WashPay-04/INC/tempfile.h"
cat "${VER_H}" | sed 's/#define BUILD_NUMBER .*/#define BUILD_NUMBER ${BUILD_NUMBER}/g' > "${T}"
mv "${T}" "${VER_H}"

Целью всего действия имеется автоматическое проставление версии программного обеспечения в заголовочном файле. Проблема в том что неообходимо заменять любую изи строк типа:

#define BUILD_NUMBER 345345
#define BUILD_NUMBER 5
#define BUILD_NUMBER 456
#define BUILD_NUMBER 4565
#define BUILD_NUMBER 76678

Подскажите как правильно выполнить эту команду, а то у меня получается что выводится

#define BUILD_NUMBER ${BUILD_NUMBER}
вместо
#define BUILD_NUMBER 7
, то есть скрипт не видит в качестве параметра ${BUILD_NUMBER} ???????



Последнее исправление: redradist (всего исправлений: 4)
Ответ на: комментарий от r3lgar

Спасибо, помогло !!!!! Но не подскажите может данную операцию можно произвести и без tempfile-а ????? Я просто еще не до конца изучил мануал по команде sed ... Да и не все там тривиально )

redradist
() автор топика
Ответ на: комментарий от redradist

замена ненужна тебе. о сборке/версии инфу пили в генерируемый при сборке хидер.

exception13 ★★★★★
()
Ответ на: комментарий от redradist

Зачем ставить по 5 знаков препинания подряд?

nexfwall ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.