sábado, 7 de novembro de 2015

O Comando grep com vários exemplos.

O que é o grep, e como posso usá-lo?

Os utilitários grep são uma família de ferramentas do Unix, incluindo grep, egrep e fgrep, que executam tarefas repetitivas de pesquisa. As ferramentas da família grep são muito semelhantes, e todos são usados ​​para pesquisar o conteúdo dos arquivos para obter informações que correspondem a critérios específicos. Para a maioria dos fins, você vai preferir usar fgrep, uma vez que é geralmente o mais rápido.
A sintaxe geral dos comandos grep é:

grep [-options] padrão [arquivo]

Você pode usar fgrep para encontrar todas as linhas de um arquivo que contêm uma determinada palavra. Por exemplo, para listar todas as linhas de um arquivo denominado ArquivoBom no diretório atual que contêm a palavra "cão", digite no prompt do Unix:


fgrep cão ArquivoBom
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # grep cão ArquivoBom
Outras pessoas preferem um cão
Mais nenhum se parece com um cão

edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # cat ArquivoBom
Muitas pessoas preferem gatos
Outras pessoas preferem um cão
Existem muitos tipos de gatos
Mais nenhum se parece com um cão
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson #

Isso também irá retornar linhas onde "cão" é incorporado em palavras maiores, como "caozão" . Você pode usar a opção -w com o comando grep para retornar somente as linhas onde o "cão" está incluído como uma palavra separada:

grep -w cão myfile

Para procurar por várias palavras separadas por espaços, coloque toda a sequência de pesquisa entre aspas, por exemplo:

fgrep ArquivoBom "cão pessoas gato"

O comando fgrep é sensível a maiúsculas; especificando "cão" não corresponderá a "Cão" ou "CAo". Você pode usar a opção -i com o comando grep para combinar ambas as letras maiúsculas e minúsculas:

grep -i ArquivoBom cão

Para listar as linhas de ArquivoBom que não contêm "cão", use a opção -v:

fgrep -v cão ArquivoBom

Se você quiser procurar por linhas que contenham qualquer uma das várias palavras diferentes, você pode criar um segundo arquivo (nomeado secondfile no exemplo a seguir) que contém essas palavras e, em seguida, use a opção -f:

fgrep -f secondfile ArquivoBom

Você também pode usar curingas para instruir fgrep para procurar os arquivos que correspondem a um padrão particular. Por exemplo, se você quisesse encontrar linhas que contêm "cão" em qualquer um dos arquivos em seu diretório com nomes que começam com "meu", você pode digitar:

fgrep cão meu *

Este comando iria procurar arquivos com nomes como meucao, meugato, e meuamor no diretório atual. Cada linha retornado será antecedido com o nome do arquivo no qual a correspondência foi encontrada.
Usando pipes e / ou redirecionamento, você pode usar a saída de qualquer um desses comandos com outras ferramentas do Unix, como o mais, classificar e corte. Por exemplo, para imprimir a quarta palavra de cada linha de ArquivoBom contendo "cão", classificar as palavras em ordem alfabética, e depois filtrar a saída através do comando more para facilitar a leitura, você deve inserir no prompt do Unix:

fgrep ArquivoBom cão | cut -d -f5 "" | sort| more



edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # cat ArquivoBom
Muitas pessoas preferem gatos
Outras pessoas preferem um cão
Existem muitos tipos de gatos
Mais nenhum se parece com um cão
PEGANDO O QUINTO ELEMENTO
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # fgrep cão ArquivoBom | cut -d" " -f5 | sort| more
cão
com


PEGANDO O TERCEIRO ELEMENTO
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # fgrep cão ArquivoBom | cut -d" " -f3 | sort| more
preferem
se


PEGANDO O SEGUNDO ELEMENTO
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # fgrep cão ArquivoBom | cut -d" " -f2 | sort| more
nenhum
pessoas
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson #


Se você deseja salvar a saída em um arquivo no diretório atual chamado newfile, digite:
Redirecione com >

fgrep cão ArquivoBom | cortar -d “” -f3 | sort> newfile

Para mais informações sobre grep, egrep e fgrep, digite:

man grep

Nenhum comentário:

Postar um comentário

Megacubo par Linux e Wnidows - Assistir TV no Computador

                            MEGACUBO PARA LINUX Ola!! Neste  post vamos falar  um pouquinho sobre o  Megacubo, um tradicional programa ...