Вы можете использовать sed
для преобразования:
echo DDC | sed -E "s/^(.{1})(.{1})(.{1}).*/--'\1','\2','\3'--/")
Что это делает:
- Трубы струнные
DDC
до sed
- Говорит
sed
, чтобы проанализировать строку и сопоставить первые три символа
- Замените
DDC
форматом замены, вставив эти три символа в заполнители \1
, \2
и \3
[Если вы используете ОС Linux, а не MacOS, как я, то я думаю, вам нужно будет использовать sed -e
вместо sed -E
]
Как говорится в комментарии @Maxim, вам нужно вызвать оболочку из make
, чтобы выполнить эту команду. Построение этого подхода в простой make-файл для иллюстрации:
VAR=DDC
TOT_VAR:=$(shell echo $(VAR) | sed -E "s/^(.{1})(.{1})(.{1}).*/--'\1','\2','\3'--/")
all:
echo "$(TOT_VAR)"
Выполнение make all
для этого дает этот вывод и показывает, что замещение сработало:
echo "--'D','D','C'--"
--'D','D','C'--