Использование m4 для замены заданного списка слов, переданных в качестве аргумента в текстовом файле. - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь передать довольно большие шаблоны текстовых файлов с различными номерами и именами заполнителей, которые должны быть заменены заданным списком значений, используя m4.

В настоящее время я пытаюсь создать простой скрипт bashно я изо всех сил пытаюсь обработать динамическое количество заполнителей и имен.

До сих пор я получил:

Допустим, вы получили текстовый шаблон как таковой:

"Меня зовут FIRSTNAME LASTNAME, и я работаю в JOB."

У меня есть файл m4 как таковой;

define(FIRSTNAME, foo)
define(LASTNAME, bar)
define(JOB, plumber)

Когда я запускаю свой скрипт bash, который выглядит какпросто, как это:

#!/bin/bash

echo $1 | m4 replace.m4 "-"

Я получаю ожидаемый результат:

«Меня зовут Фу Бар, и я работаю в сантехнике.»

Однако я хочу сделать его общим, чтобы количество заполнителей и имена заполнителей могли быть любыми. Я застрял в этом.

...