Coloque a sua string de pesquisa entre aspas duplas:
grep "'type' => 'select'"
Estou usando o editor de texto gedit com terminal embutido no Ubuntu 12.04. Estou tentando procurar algum texto usando grep
. Eu quero procurar por esta linha de código
'type' => 'select'
Eu tentei:
grep -r '\'type\' => \'select\''
Mas grep
não retornou nenhum resultado.
Então alguém pode me dizer como procurar o código acima?
Coloque a sua string de pesquisa entre aspas duplas:
grep "'type' => 'select'"
Você não pode escapar de aspas simples que aparecem entre aspas simples. Como explicado no [bash manual] :( link ):
Inserir caracteres entre aspas simples (‘'’) preserva o valor literal de cada caractere entre aspas. Uma aspa única pode não ocorrer entre aspas simples, mesmo quando precedidas por uma barra invertida .
Então, você tem que usar abordagens diferentes:
Use aspas duplas:
grep "'type' => 'select'" file
Se você preferir soluções desnecessariamente complexas:
grep "'"type"'"\ =\>\ "'"select"'" file
Você sempre pode pesquisar qualquer caractere único em vez de especificar as aspas simples:
grep '.type. => .select.' file
Mas use apenas "
, isso torna as coisas muito mais simples.
cd no diretório que contém seu arquivo .txt
cd /path
Então:
você pode usar grep "'type' => 'select'" name.txt
ou:
'grep "'type' => 'select'" /path/file.txt
Saída:
Tags command-line grep gedit