Я хотел бы заменить шаблон, который состоят из var, окруженного ()
с sed
. Успешная следующая команда:
echo "This is the pattern : th_now(5, almost done!" | sed "s/th_now($var/th_now_$var/g"
Но когда я пытаюсь использовать правильный шаблон, который меня интересует, он терпит неудачу:
echo "This is the pattern : th_now(5), almost done!" | sed "s/th_now($var)/th_now_$var/g"
Есть способ решить эту проблему? спасибо.
Если я правильно понимаю, я думаю, что это то, что вы ищете:
$ echo "This is the pattern : th_now(5), almost done!" | sed 's/th_now(\([^()]*\))/th_now_\1/'
This is the pattern : th_now_5, almost done!
Или:
$ echo "This is the pattern : th_now(5), almost done!" | sed 's/th_now(\([[:digit:]]*\))/th_now_\1/'
This is the pattern : th_now_5, almost done!