catbean.pages.dev

Como extrair coluna específica de CSV no terminal Linux?

Extrair uma coluna específica de um arquivo CSV no terminal Linux pode parecer uma tarefa complexa, mas com os comandos certos, você pode realizar essa operação de forma rápida e eficiente. Este método é o mais eficaz porque utiliza ferramentas nativas do Linux, como o comando cut, que é leve e não requer a instalação de software adicional.

Pré-requisitos

Usando o comando cut

O comando cut é uma ferramenta poderosa para extrair colunas de arquivos de texto. Ele permite especificar o delimitador e o número da coluna que você deseja extrair. Este método é ideal para arquivos CSV simples e bem estruturados.

cut -d',' -f2 arquivo.csv

Neste exemplo, o comando cut é usado com a opção -d para especificar o delimitador (vírgula) e a opção -f para indicar o número da coluna (2) que você deseja extrair. Substitua arquivo.csv pelo nome do seu arquivo CSV.

Usando o comando awk

Para arquivos CSV mais complexos, especialmente aqueles com campos que contêm vírgulas, o comando awk oferece mais flexibilidade. Ele permite processar cada linha do arquivo e extrair a coluna desejada com base em um padrão específico.

awk -F',' '{print $2}' arquivo.csv

Aqui, o comando awk é utilizado com a opção -F para definir o delimitador (vírgula) e o bloco de código {print $2} para imprimir a segunda coluna de cada linha. Novamente, substitua arquivo.csv pelo nome do seu arquivo.

Exemplo Prático

Considere o seguinte arquivo CSV chamado dados.csv:

Nome Idade Cidade
João 30 Rio de Janeiro
Maria 25 São Paulo
Pedro 40 Belo Horizonte

Para extrair a coluna "Idade", você pode usar o comando cut:

cut -d',' -f2 dados.csv

Ou, alternativamente, o comando awk:

awk -F',' '{print $2}' dados.csv

Em ambos os casos, a saída será:

Idade
30
25
40

Conclusão

Com estes métodos, você pode extrair colunas específicas de arquivos CSV no terminal Linux de forma rápida e eficiente. Seja usando o comando cut para arquivos simples ou o awk para casos mais complexos, você automatiza a tarefa em segundos, evitando erros manuais e economizando tempo precioso.