wiki:linux:comandos:comando_find_grep
Table of Contents
Exemplos dos comandos grep e find
Nível Básico
- Procurar por uma palavra específica em um arquivo com `grep`:
grep "palavra" arquivo.txt
- Busca pela palavra “palavra” no arquivo `arquivo.txt` e exibe as linhas que contêm a correspondência.
- Buscar arquivos por nome em um diretório com `find`:
find /caminho -name "arquivo.txt"
- Procura o arquivo `arquivo.txt` no diretório especificado.
- Buscar por uma palavra ignorando maiúsculas e minúsculas com `grep`:
grep -i "palavra" arquivo.txt
- Realiza a busca pela palavra “palavra” no arquivo `arquivo.txt`, ignorando a distinção entre maiúsculas e minúsculas.
- Buscar arquivos em subdiretórios com `find`:
find /caminho -type f -name "*.txt"
- Procura todos os arquivos com a extensão `.txt` dentro do diretório `/caminho` e seus subdiretórios.
Nível Intermediário
- Contar o número de ocorrências de uma palavra em um arquivo com `grep`:
grep -c "palavra" arquivo.txt
- Conta quantas vezes a palavra “palavra” aparece em `arquivo.txt`.
- Buscar arquivos modificados nos últimos 7 dias com `find`:
find /caminho -type f -mtime -7
- Procura por arquivos modificados nos últimos 7 dias no diretório `/caminho`.
- Buscar por uma palavra em múltiplos arquivos de uma só vez com `grep`:
grep "palavra" *.txt
- Procura por “palavra” em todos os arquivos `.txt` no diretório atual.
- Executar um comando em cada arquivo encontrado com `find`:
find /caminho -name "*.log" -exec rm {} \;- Encontra e remove todos os arquivos `.log` no diretório `/caminho`.
Nível Avançado
- Buscar por uma palavra e mostrar o número das linhas com `grep`:
grep -n "palavra" arquivo.txt
- Exibe as linhas onde a palavra “palavra” aparece, junto com o número da linha.
- Buscar por arquivos maiores que 100 MB com `find`:
find /caminho -type f -size +100M
- Procura arquivos maiores que 100 MB no diretório `/caminho`.
- Buscar por uma palavra em arquivos recursivamente com `grep`:
grep -r "palavra" /caminho
- Busca pela palavra “palavra” em todos os arquivos e subdiretórios de `/caminho`.
- Procurar arquivos por tipo e nome simultaneamente com `find`:
find /caminho -type f -name "*.txt" -or -name "*.log"
- Encontra arquivos com a extensão `.txt` ou `.log` no diretório `/caminho`.
Nível Especializado
- Buscar por várias palavras ao mesmo tempo com `grep`:
grep -E "palavra1|palavra2" arquivo.txt
- Usa expressões regulares para buscar “palavra1” ou “palavra2” em `arquivo.txt`.
- Executar um comando em arquivos com base em múltiplas condições com `find`:
find /caminho -type f -name "*.log" -size +50M -exec gzip {} \;- Encontra todos os arquivos `.log` maiores que 50 MB e os compacta com `gzip`.
- Buscar por linhas que não contêm uma palavra com `grep`:
grep -v "palavra" arquivo.txt
- Exibe todas as linhas do arquivo `arquivo.txt` que não contêm a palavra “palavra”.
- Localizar arquivos vazios e excluí-los com `find`:
find /caminho -type f -empty -delete
- Encontra e exclui todos os arquivos vazios no diretório `/caminho`.
- Combinar `find` e `grep` para buscar por texto dentro de arquivos específicos:
find /caminho -name "*.log" -exec grep "erro" {} \;- Encontra todos os arquivos `.log` no diretório `/caminho` e procura pela palavra “erro” dentro desses arquivos.
- Buscar por arquivos modificados em uma data específica com `find`:
find /caminho -type f -newermt "2023-01-01"
- Encontra todos os arquivos modificados após 1 de janeiro de 2023.
- Mostrar contexto ao redor das correspondências com `grep`:
grep -C 3 "palavra" arquivo.txt
- Exibe as 3 linhas antes e depois de cada ocorrência da palavra “palavra” em `arquivo.txt`.
- Buscar e substituir texto em múltiplos arquivos com `find` e `sed`:
find /caminho -name "*.txt" -exec sed -i 's/palavra_antiga/palavra_nova/g' {} \;- Encontra todos os arquivos `.txt` e substitui todas as ocorrências de “palavra_antiga” por “palavra_nova”.
wiki/linux/comandos/comando_find_grep.txt · Last modified: by Wiki Administrator
