Muitas vezes quando estamos procurando um arquivo e queremos algo em seu conteudo usamos o comando cat. Porém esse mesmo comando nos da todo o conteúdo do arquivo e passamos muito tempo dando scroll no terminal para achar o que estamos procurando.
Para conseguirmos filtrar o conteúdo do arquivo, pesquisando o que estamos procurando, podemos utilizar o grep. Esse comando nos ajudar a pesquisar tanto em arquivos, diretórios e subdiretórios o conteúdo procurado.
Exemplo de comando CAT.
# cat [option] <filename>
cd ~ # entramos na pasta home
mkdir cat-test # criamos uma pasta teste
cd cat-test # entramos na pasta teste
cp /etc/services . # copiamos o arquivo services da nossa máquina
cat services # usamos o cat para pegar o conteúdo do arquivo services
Exemplo de comando GREP.
# grep [option] <search-value> <where-to-look>
cd ~ # entramos na pasta home
mkdir grep-test # criamos uma pasta teste
cd grep-test # entramos na pasta teste
cp /etc/services . # copiamos o arquivo services da nossa máquina.
cp /etc/passwd . # copiamos o arquivo passwd da nossa máquina.
grep http * # pesquisamos http em qualquer arquivo do diretório corrente.
# será listado o conteúdo dos arquivos que tem a palavra http.
Options
Logo após escrevermos o nome do comando, podemos colocar uma de suas opções de execução e aqui serão descritas algumas dessas opções (-i -l -L -r).
-i | --ignore-case
Essa opção faz com que a pesquisa do grep ignore o case sensitive (case insensitive).
# grep [option] <search-value> <where-to-look>
cd ~ # entramos na pasta home
mkdir grep-test # criamos uma pasta teste
cd grep-test # entramos na pasta teste
cp /etc/services . # copiamos o arquivo services da nossa máquina.
cp /etc/passwd . # copiamos o arquivo passwd da nossa máquina.
grep -i http * # pesquisamos http em qualquer arquivo do diretório corrente.
# será listado o conteúdo dos arquivos que tem a palavra http sem case sensitive.
-l | --file-with-matches
Essa opção faz com que sejam listados os arquivos que contém o conteúdo procurado.
# grep [option] <search-value> <where-to-look>
cd ~ # entramos na pasta home
mkdir grep-test # criamos uma pasta teste
cd grep-test # entramos na pasta teste
cp /etc/services . # copiamos o arquivo services da nossa máquina.
cp /etc/passwd . # copiamos o arquivo passwd da nossa máquina.
grep -l http * # pesquisamos http em qualquer arquivo do diretório corrente.
# será listado os arquivos que tem o valor pesquisado.
-L --files-without-match
Essa opção faz com que sejam listados os arquivos que não contém o conteúdo procurado.
# grep [option] <search-value> <where-to-look>
cd ~ # entramos na pasta home
mkdir grep-test # criamos uma pasta teste
cd grep-test # entramos na pasta teste
cp /etc/services . # copiamos o arquivo services da nossa máquina.
cp /etc/passwd . # copiamos o arquivo passwd da nossa máquina.
grep -L http * # pesquisamos http em qualquer arquivo do diretório corrente.
# será listado os arquivos que não tem o valor pesquisado.
-r | --recursive
Essa opção faz com que o que for pesquisado, não se limite ao diretório corrente, mas que consiga pesquisar em subdiretórios.
# grep [option] <search-value> <where-to-look>
cd ~ # entramos na pasta home
mkdir grep-test # criamos uma pasta teste
cd grep-test # entramos na pasta teste
cp /etc/services . # copiamos o arquivo services da nossa máquina.
cp /etc/passwd . # copiamos o arquivo passwd da nossa máquina.
mkdir sub # criamos a pasta sub
cp /etc/services ./sub/ # copiamos novamente o arquivo services, mas agora para a pasta sub
grep -r http * # pesquisamos http em qualquer arquivo do diretório corrente e subdiretórios.
# será listado o conteúdo dos arquivos que tem o valor pesquisado, tanto arquivos do diretório atual quanto em subdiretórios.
Top comments (0)