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:
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
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
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
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