Вы не можете избежать одинарных кавычек, которые появляются в одинарных кавычках. Как описано в [руководстве по bash] :( http://www.gnu.org/software/bash/manual/bashref.html#Single-Quotes ):
Заключение символов в одинарные кавычки ('' ') сохраняет буквальное значение каждого символа в кавычках. Одиночная кавычка может отсутствовать между одинарными кавычками, даже если ей предшествует обратная косая черта .
Итак, вы должны использовать разные подходы:
Используйте двойные кавычки:
grep "'type' => 'select'" file
Если вы предпочитаете ненужные сложные решения:
grep "'"type"'"\ =\>\ "'"select"'" file
Вы всегда можете искать любой отдельный символ вместо указания одинарных кавычек:
grep '.type. => .select.' file
Но просто используйте "
, это делает вещи намного проще.