Visualização e busca

Módulo 1 · Terminal

Você recebeu um CSV de duas mil linhas e quer só checar como são as primeiras dez antes de abrir no Excel (que é lento e vai congelar). Ou quer encontrar onde, num projeto inteiro, aparece a variável pas_sistolica que você quer renomear. Ou perdeu de vista um script chamado regressao.R que você criou há uns dois meses e não lembra em que pasta está. Estas são as operações deste capítulo.

Os comandos abaixo seguem o padrão Mac/Linux. Quando a versão Windows for diferente, indico em seguida.

Ver o conteúdo de um arquivo

cat — despejar tudo de uma vez

cat arquivo.txt              # Mac/Linux: mostra o conteúdo completo na tela
type arquivo.txt             # Windows: equivalente

Bom para arquivos curtos (um README, um YAML, um pequeno script). Em arquivos grandes, é ruim — cat despeja tudo no terminal sem pausar; você não consegue ler.

less — paginar com controle

less arquivo.txt             # Mac/Linux
more arquivo.txt             # Windows e Mac/Linux: mais simples, com menos recursos

less abre o arquivo em modo de visualização paginada. Atalhos de navegação:

Tecla Ação
Espaço ou f Próxima página
b Página anterior
Linha por linha
g Início do arquivo
G Fim do arquivo
/palavra Busca
n Próxima ocorrência
q Sair

less é uma das ferramentas mais subestimadas do terminal. Para arquivos grandes (CSVs de centenas de MB, logs, dumps de banco), é a única forma sã de inspecionar conteúdo sem travar a máquina.

head e tail — espiar pontas

head arquivo.csv             # primeiras 10 linhas
head -n 20 arquivo.csv       # primeiras 20 linhas
tail arquivo.csv             # últimas 10 linhas
tail -n 50 arquivo.csv       # últimas 50 linhas
tail -f log.txt              # acompanha em tempo real (útil para logs)

head é essencial para inspecionar CSVs antes de carregar:

$ head dados/coorte.csv
id,sexo,idade,pas_sistolica,pas_diastolica
1,F,42,138,82
2,M,67,156,94
3,F,55,142,88
...

Em três segundos você confere o cabeçalho, o separador, o encoding aparente, e os tipos prováveis das primeiras colunas — sem abrir o Excel.

Encontrar arquivos pelo nome — find

find . -name "*.csv"          # busca todos os .csv a partir da pasta atual (recursivo)
find . -name "regressao*"     # busca tudo que começa com "regressao"
find ~ -name "*.qmd"          # busca todos os .qmd na home

dir /S *.csv                  # Windows: equivalente

find é poderoso e tem dezenas de opções (filtrar por data, por tamanho, por permissões). Para o uso cotidiano, find . -name "padrão" cobre praticamente tudo.

Buscar texto dentro de arquivos — grep

grep "palavra" arquivo.txt              # Mac/Linux: busca em um arquivo
grep -r "palavra" pasta/                # busca em toda a pasta, recursivo
grep -i "palavra" arquivo.txt           # busca ignorando maiúsculas/minúsculas
grep -n "palavra" arquivo.txt           # mostra número da linha onde aparece
grep -rn "pas_sistolica" .              # busca recursiva com número de linha

findstr "palavra" arquivo.txt           # Windows: equivalente básico

Exemplo prático — você quer renomear pas_sistolica para pas em todo o projeto e antes precisa saber onde aparece:

$ grep -rn "pas_sistolica" .
./scripts/limpeza.R:14:dados <- dados |> rename(pas = pas_sistolica)
./scripts/analise.R:23:summarize(media_pas = mean(pas_sistolica))
./README.md:42:- `pas_sistolica`: pressão arterial sistólica em mmHg

Em segundos você localizou as três ocorrências, em três arquivos diferentes, com o número da linha exato. O equivalente no Finder (busca em conteúdo de arquivo) existe mas é mais lento e menos preciso.

Dicaripgrep é melhor que grep

Para projetos maiores, há uma versão moderna chamada ripgrep (rg) — escrita em Rust, dezenas de vezes mais rápida que o grep clássico, com sintaxe parecida e melhor padrão (por exemplo, ignora arquivos do .gitignore automaticamente). Vale a instalação: brew install ripgrep no Mac, apt install ripgrep no Linux. Depois é só usar rg no lugar de grep -rn na maioria dos casos.

Limpar a tela e ver histórico

Comandos auxiliares que aparecem o tempo todo:

clear                         # Mac/Linux: limpa a tela
cls                           # Windows: equivalente

history                       # Mac/Linux: lista comandos digitados recentemente
doskey /history               # Windows cmd
Get-History                   # Windows PowerShell

history é especialmente útil quando você fez algo certo na semana passada e não lembra a sequência. Ele lista numericamente; depois !N (onde N é o número) re-executa o comando.

Manual de um comando

Toda essa lista é uma fração do que cada comando aceita. Para descobrir mais, o terminal tem ajuda integrada:

man grep                     # Mac/Linux: manual completo (saia com 'q')
grep --help                  # ajuda resumida
help dir                     # Windows cmd
Get-Help dir                 # Windows PowerShell

man é a referência canônica. Para iniciantes, costuma ser denso — perguntar a um agente de IA “como uso o find para achar todos os arquivos modificados nos últimos 7 dias?” é frequentemente mais rápido e mais didático.

O que vem a seguir

Os capítulos anteriores cobriram comandos. O último capítulo do Bloco fecha com atalhos de teclado que aceleram o uso interativo, um exercício prático integrando tudo, e um mapa de onde o terminal reaparece no resto do curso (Git, Quarto, agentes CLI, gerenciadores de pacote).

09 · Atalhos, prática e o que vem depois