Я пытаюсь использовать AWK в сценарии оболочки unix, чтобы заменить экземпляр одного шаблона в файле другим и вывести его в новый файл.
В частности, если имя файла MYFILE.pc, то я ищу экземпляры «*MYFILE» с «g_MYFILE» (без кавычек). Для этого я использую функцию gsub
в AWK.
Я успешно записал выходной файл и заменил все экземпляры по мере необходимости, однако скрипт также заменяет экземпляры «MYFILE» (т.е. без звездочки) на «g_MYFILE»
Вот сценарий:
awk -v MODNAM=${OUTPUT_FILE%.pc} '
{
gsub("\*"MODNAM, "g_" MODNAM);
print
}' ${INPUT_FILE} > ${FULL_OUTPUT_FILENAME}
Для уточнения скрипт выполняет следующее преобразование:
- '*МОЙ ФАЙЛ' --> 'g_МОЙ ФАЙЛ'
- 'МОЙ ФАЙЛ' --> 'g_МОЙ ФАЙЛ'
Я хочу, чтобы было выполнено только первое преобразование. У кого-нибудь есть предложения?