Если ваш вариант использования касается только символа .
, я бы просто преобразовал шаблон, чтобы удалить специальное значение .
:
var='amy.'; var=`echo $var | sed 's/\./\\\./g'`; grep "$var " inputfile
Это приводит к тому, что $ var будет amy\.
grep
для пробела после $ var, с "$var "
, для ответа @ ninosanta также хорошая идея.
Если могут быть задействованы другие мета-символы регулярного выражения, более общее решение оправдано, но если вам нужно иметь дело только с .
, эта манипуляция является прагматичным, рабочим решением.