Я пытаюсь использовать 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}
Для уточнения сценарий выполняет следующие преобразования:
- '* MYFILE' -> 'g_MYFILE'
- 'MYFILE' -> 'g_MYFILE'
Я хочу, чтобы было выполнено только первое преобразование У кого-нибудь есть предложения?