Filtrar linhas de um arquivo CSV por valor de coluna pode parecer uma tarefa simples, mas quando se trata de grandes volumes de dados, fazer isso manualmente é impraticável e propenso a erros. O AWK é uma ferramenta poderosa e leve, nativa de sistemas Unix/Linux, que permite processar arquivos texto de forma rápida e precisa, tornando-se a escolha ideal para esta tarefa.
Antes de aplicar o filtro, é fundamental conhecer a estrutura do seu arquivo CSV. Identifique o delimitador (geralmente vírgula, ponto e vírgula ou tabulação) e a posição da coluna que você deseja filtrar. Por exemplo, se o arquivo for separado por vírgulas, cada coluna será separada por ",".
Para filtrar linhas onde uma coluna específica tenha um valor exato, use o comando AWK com a opção -F para definir o delimitador e uma condição para a coluna desejada. Por exemplo, para filtrar linhas onde a segunda coluna seja "São Paulo" em um arquivo separado por vírgulas:
awk -F',' '$2 == "São Paulo"' arquivo.csv
Se você precisar filtrar por um valor parcial ou padrão, use a função match() ou expressões regulares. Por exemplo, para filtrar linhas onde a terceira coluna contenha a palavra "SP":
awk -F',' 'match($3, /SP/)' arquivo.csv
Para salvar o resultado do filtro em um novo arquivo CSV, redirecione a saída do comando:
awk -F',' '$2 == "São Paulo"' arquivo.csv > filtrado.csv
Considere o seguinte arquivo CSV de exemplo (dados.csv):
| Nome | Cidade | Estado |
|---|---|---|
| João Silva | São Paulo | SP |
| Maria Santos | Rio de Janeiro | RJ |
| Pedro Costa | São Paulo | SP |
Para filtrar apenas as linhas onde a cidade é "São Paulo", execute:
awk -F',' '$2 == "São Paulo"' dados.csv
O resultado será:
| Nome | Cidade | Estado |
|---|---|---|
| João Silva | São Paulo | SP |
| Pedro Costa | São Paulo | SP |
Com o AWK, você pode filtrar linhas de arquivos CSV por valor de coluna de forma rápida e eficiente, sem a necessidade de abrir editores complexos ou escrever scripts extensos. Este método economiza tempo e reduz significativamente a chance de erros manuais, permitindo que você se concentre no que realmente importa: a análise dos seus dados.