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