Bash:
Trabalhando com CSV
Como fazer:
Lendo um Arquivo CSV Linha por Linha
while IFS=, read -r coluna1 coluna2 coluna3
do
echo "Coluna 1: $coluna1, Coluna 2: $coluna2, Coluna 3: $coluna3"
done < exemplo.csv
Saída de exemplo:
Coluna 1: id, Coluna 2: nome, Coluna 3: email
...
Filtrando Linhas do CSV com Base em uma Condição
Usando awk
, você pode facilmente filtrar linhas. Por exemplo, para encontrar linhas onde a segunda coluna é igual a “Alice”:
awk -F, '$2 == "Alice" { print $0 }' exemplo.csv
Modificando o Valor de uma Coluna
Para alterar a segunda coluna para maiúsculas:
awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' exemplo.csv
Ordenando um Arquivo CSV Baseado em uma Coluna
Você pode ordenar um arquivo CSV baseado, digamos, na terceira coluna (numericamente):
sort -t, -k3,3n exemplo.csv
Usando csvkit
para Tarefas Mais Complexas
csvkit
é um conjunto de ferramentas de linha de comando para converter para e trabalhar com CSV. Pode ser instalado via pip.
Para converter um arquivo JSON para CSV:
in2csv data.json > data.csv
Para consultar um arquivo CSV usando SQL:
csvsql --query "SELECT name FROM sample WHERE id = 10" exemplo.csv
Nota: A instalação do csvkit
requer Python e pode ser feita usando pip install csvkit
.