Bash:
Trabajando con CSV
Cómo hacerlo:
Leyendo un Archivo CSV Línea por Línea
while IFS=, read -r column1 column2 column3
do
echo "Columna 1: $column1, Columna 2: $column2, Columna 3: $column3"
done < sample.csvSalida de muestra:
Columna 1: id, Columna 2: nombre, Columna 3: correo electrónico
...Filtrando Filas CSV Basadas en una Condición
Usando awk, puedes filtrar filas fácilmente. Por ejemplo, para encontrar filas donde la segunda columna sea igual a “Alice”:
awk -F, '$2 == "Alice" { print $0 }' sample.csvModificando el Valor de una Columna
Para cambiar la segunda columna a mayúsculas:
awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' sample.csvOrdenando un Archivo CSV Basado en una Columna
Puedes ordenar un archivo CSV basado en, digamos, la tercera columna (numéricamente):
sort -t, -k3,3n sample.csvUsando csvkit para Tareas Más Complejas
csvkit es un conjunto de herramientas de línea de comandos para convertir y trabajar con CSV. Se puede instalar a través de pip.
Para convertir un archivo JSON a CSV:
in2csv data.json > data.csvPara consultar un archivo CSV usando SQL:
csvsql --query "SELECT name FROM sample WHERE id = 10" sample.csvNota: Instalar csvkit requiere Python y se puede hacer usando pip install csvkit.