
resumen rápido
usar column -t -s, file.csv | less -S Vea el archivo CSV en la terminal de Linux con las columnas correctamente alineadas. Esta guía le muestra 8 comandos útiles para inspeccionar, filtrar y analizar datos CSV sin abrir una hoja de cálculo.
introducir
Abra LibreOffice Calc o Excel y compruebe si el CSV tiene 500 filas o 5000 filas. ¿Verificar artículos agotados? ¿Encontró un error de precio? Existe una forma más rápida que funciona en cualquier servidor o terminal Linux.
Esta guía le muestra cómo Verifique archivos CSV directamente en la terminal de Linux Utilice comandos integrados. Aprenderá a leer, filtrar, ordenar y analizar datos estructurados rápidamente: no se requieren aplicaciones GUI, no es necesario instalar herramientas especiales ni editar archivos sin formato.
Lo que aprenderás:
- Ver archivo CSV con la alineación de columnas correcta
- Filtrar filas por criterios específicos (estado, precio, fecha)
- Ordenar datos numérica o alfabéticamente
- Seleccione y muestre solo las columnas que necesita
- Registre y verifique datos rápidamente
- Procesa archivos de gran tamaño de forma segura sin congelar tu terminal
Ejemplo: inventario.csv
Usaremos un archivo CSV de muestra llamado inventory.csv Texto completo de esta guía:
id,name,category,price,quantity,status 101,Keyboard,Input,1200,15,ok 102,Mouse,Input,600,3,low_stock 103,Monitor,Display,8500,7,ok 104,USB Cable,Accessory,250,50,ok 105,Webcam,Camera,3200,2,low_stock
Esto representa datos estructurados típicos: filas de encabezado, valores separados por comas, texto mixto y números.
1. Mostrar CSV con columnas alineadas
pregunta: Los archivos CSV sin formato son difíciles de leer visualmente.
Solución: usar column Comando para alinear datos para limpiar columnas:
column -t -s, inventory.csv
Qué hace:
-tCrear formato de tabla-s,Especificar coma como separador
Salida de ejemplo:
id name category price quantity status 101 Keyboard Input 1200 15 ok 102 Mouse Input 600 3 low_stock 103 Monitor Display 8500 7 ok 104 USB Cable Accessory 250 50 ok 105 Webcam Camera 3200 2 low_stock
Su archivo original permanece sin cambios; esto sólo afecta a la visualización.
2. Vea de forma segura archivos CSV grandes
pregunta: Los archivos grandes inundan la terminal con miles de líneas.
Solución: Tubería la salida a less Desplácese para ver:
column -t -s, inventory.csv | less -S
beneficio:
-SEvite el ajuste de línea (use las teclas de flecha para desplazarse horizontalmente)- Método de búsqueda
/llave - Salir con
qllave - Funciona para archivos con millones de líneas.
- No hay problemas de memoria ni congelaciones de terminal
Esto es fundamental al inspeccionar datos de producción o registros del servidor a través de SSH.
3. Mantenga el título visible mientras se desplaza
pregunta: El título desaparece al desplazarse por los datos.
Solución: Fijar título en la parte superior:
(head -n 1 inventory.csv && tail -n +2 inventory.csv | column -t -s,) | less -S
Cómo funciona:
head -n 1Mostrar título una veztail -n +2Mostrar todas las filas excepto el encabezadocolumn -t -s,Establecer formato de fila de datos- Los títulos permanecen en la parte superior a medida que se desplaza por miles de registros
Ideal para auditar grandes conjuntos de datos o comprobar exportaciones de bases de datos.
4. Mostrar solo columnas específicas
pregunta: Demasiadas columnas pueden crear desorden visual.
Solución: Seleccione solo las columnas que necesita cut:
cut -d, -f2,4,5 inventory.csv | column -t -s,
explicar:
-d,Establecer separador en coma-f2,4,5Seleccione la columna 2 (nombre), la columna 4 (precio), la columna 5 (cantidad)
Salida de ejemplo:
name price quantity Keyboard 1200 15 Mouse 600 3 Monitor 8500 7 USB Cable 250 50 Webcam 3200 2
Úselo para centrarse en campos relevantes durante la validación de datos o la revisión rápida.
5. Ordenar CSV numéricamente
pregunta: Necesita encontrar el precio más alto, la fecha más temprana o la cantidad más grande.
Solución: usar sort Usar modo numérico:
sort -t, -k4,4n inventory.csv | column -t -s,
Explicación del logotipo:
-t,Establecer coma como delimitador-k4,4Ordenar por columna 4 (precio)nHabilitar clasificación numérica (100 < 1000, no letras "1000" < "100")
resultado: Los artículos están ordenados del más barato al más caro.
id name category price quantity status
104 USB Cable Accessory 250 50 ok
102 Mouse Input 600 3 low_stock
101 Keyboard Input 1200 15 ok
105 Webcam Camera 3200 2 low_stock
103 Monitor Display 8500 7 ok
Casos de uso comunes:
- Encuentre valores atípicos en los precios
- Identificar a los mejores/peores empleados
- Se encontraron errores de entrada de datos (números negativos, ceros que no deberían estar ahí)
6. Filtrar filas por modo o estado
pregunta: Necesidad de encontrar un artículo específico rápidamente (estado de error, stock bajo, fecha específica).
Solución: combinar column y comando grep:
column -t -s, inventory.csv | grep --color=always low_stock
Por qué esto funciona:
grepFiltrar filas que contienen «low_stock»--color=alwaysmaravilloso juego- Mantener formato de tabla
- Funciona con cualquier patrón (fecha, código de error, valor de estado)
Otros ejemplos:
# Find items priced over 1000
column -t -s, inventory.csv | grep -E "(^id|[0-9]{4,})"
# Find all accessories
column -t -s, inventory.csv | grep Accessory
# Case-insensitive search
column -t -s, inventory.csv | grep -i "mouse"7. Cuente el número de filas (excluidos los títulos)
pregunta: Se requiere la verificación de los recuentos de registros para la validación de los datos.
Solución: Omita el encabezado y cuente el número de filas de datos:
tail -n +2 inventory.csv | wc -l
devolver: 6 (número de filas de datos)
Cuando usar:
- Validar la importación/exportación de datos (antes: 1000 filas, después: ¿1000 filas?)
- Verificar los resultados del filtro (
grep pattern file.csv | wc -l) - Verificar lote
- Comparar versiones de archivos
8. Procese los datos JSON de la misma manera
pregunta: Muchas API devuelven JSON, no CSV.
Solución: Utilice el siguiente comando para convertir JSON a formato CSV jq:
jq -r '.[] | [.id, .name, .price] | @csv' inventory.json | column -t -s,
Ejemplo JSON:
[
{"id":101,"name":"Keyboard","price":1200},
{"id":102,"name":"Mouse","price":600}
]Producción: Tabla en el mismo formato que CSV.
Esto le permite utilizar el mismo flujo de trabajo para respuestas de API REST, exportaciones NoSQL y archivos de configuración.
Terminales versus hojas de cálculo: cuándo usar cada terminal
Cuando lo necesites, utiliza la terminal de Linux:
- chequeo rapido
- Trabajar en un servidor remoto a través de SSH
- Validar datos automáticamente en scripts
- Manejar archivos demasiado grandes para hojas de cálculo
- Operación de solo lectura (cero riesgo de edición accidental)
- Scripting y automatización
Utilice hojas de cálculo cuando las necesite:
- Gráficos y visualizaciones
- Fórmulas y cálculos complejos.
- Entrada o edición manual de datos
- Rotación y tabulación cruzada
- Colaboración con usuarios no técnicos.
Consejo profesional: Utilice la terminal para inspección y la hoja de cálculo para análisis.
Preguntas frecuentes (FAQ)
Respuesta: No. Todos los comandos aquí son de solo lectura y eso es a propósito. Para editar, use sed, awko editor de texto. Estos comandos están diseñados para verificación y control de seguridad.
Respuesta: Reemplazar -s, y -s';' en todos los comandos. ejemplo:
column -t -s';' file.csv
Respuesta: Sí. usar -s$'\t' Para pestañas:
column -t -s$'\t' file.tsv
Respuesta: Sí, en el 99% de las distribuciones de Linux. es parte de util-linux (RHEL, CentOS, Fedora) o bsdmainutils (Debian, Ubuntu).
Respuesta: Sí column El comando trata todas las comas como delimitadores, incluso entre comillas. Para un análisis CSV complejo de campos entrecomillados, utilice csvkit o python csv module. Sin embargo, la mayoría de los archivos CSV del mundo real funcionan bien con columnas.
Hoja de referencia: visualización de archivos CSV en la terminal de Linux
# View CSV with aligned columns column -t -s, file.csv # Scroll large files safely column -t -s, file.csv | less -S # Keep header visible (head -n 1 file.csv && tail -n +2 file.csv | column -t -s,) | less -S # Select specific columns (2, 4, 5) cut -d, -f2,4,5 file.csv | column -t -s, # Sort by column 4 numerically sort -t, -k4,4n file.csv | column -t -s, # Filter rows by pattern column -t -s, file.csv | grep pattern # Count data rows (skip header) tail -n +2 file.csv | wc -l # Convert JSON to CSV format jq -r '.[] | [.field1, .field2] | @csv' data.json | column -t -s, # Handle semicolon-separated files column -t -s';' file.csv # Handle tab-separated files (TSV) column -t -s$'\t' file.tsv
Siguiente paso
En este tutorial, aprendió cómo inspeccionar eficientemente archivos CSV en la terminal de Linux. Ahora puedes:
- Validación automática de datos en el script de implementación
- Crear función bash Para tareas recurrentes (agregar a
.bashrc) - Comandos combinados Para consultas complejas (
sort | grep | cut) - Procesar múltiples archivos Con bucle:
for f in *.csv; do ... done - Supervisar archivos de registro Formato CSV en vivo
El verdadero poder proviene de combinar estos comandos en flujos de trabajo personalizados según sus necesidades específicas. Cada herramienta es buena para hacer una cosa. Cuando se vinculan entre sí, reemplazan toda la aplicación de inspección de datos.
¿Quieres profundizar más? aprender awk Para una conversión CSV compleja, sed para reemplazo de texto, y join Se utiliza para fusionar archivos CSV basados en campos comunes.
Lectura recomendada:









