DEV Community

Kauan Amorim da Silva
Kauan Amorim da Silva

Posted on

Pesquisando conteúdo de arquivos - Série Linux

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

Enter fullscreen mode Exit fullscreen mode

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. 
Enter fullscreen mode Exit fullscreen mode

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.
Enter fullscreen mode Exit fullscreen mode

-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.
Enter fullscreen mode Exit fullscreen mode

-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.
Enter fullscreen mode Exit fullscreen mode

-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.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)