Tutoriales

Ver archivos CSV en una terminal Linux: no se requieren hojas de cálculo

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:

  • -t Crear 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
Mostrar CSV con columnas alineadas

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:

  • -S Evite el ajuste de línea (use las teclas de flecha para desplazarse horizontalmente)
  • Método de búsqueda / llave
  • Salir con q llave
  • 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 1 Mostrar título una vez
  • tail -n +2 Mostrar todas las filas excepto el encabezado
  • column -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,5 Seleccione 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,4 Ordenar por columna 4 (precio)
  • n Habilitar 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:

  • grep Filtrar filas que contienen «low_stock»
  • --color=always maravilloso 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)

P: ¿Puedo usar estos comandos para editar archivos CSV?

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.

P: ¿Qué pasa si mi CSV usa punto y coma en lugar de comas?

Respuesta: Reemplazar -s, y -s';' en todos los comandos. ejemplo:

column -t -s';' file.csv

P: ¿La columna funciona con archivos delimitados por tabulaciones (TSV)?

Respuesta: Sí. usar -s$'\t' Para pestañas:

column -t -s$'\t' file.tsv

P: ¿Las columnas están instaladas de forma predeterminada?

Respuesta: Sí, en el 99% de las distribuciones de Linux. es parte de util-linux (RHEL, CentOS, Fedora) o bsdmainutils (Debian, Ubuntu).

P: ¿Cómo manejar los archivos CSV citados?

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:

  1. Validación automática de datos en el script de implementación
  2. Crear función bash Para tareas recurrentes (agregar a .bashrc)
  3. Comandos combinados Para consultas complejas (sort | grep | cut)
  4. Procesar múltiples archivos Con bucle: for f in *.csv; do ... done
  5. 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:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba