Tablas ordenadas en Linux con sort uniq
En entornos Linux, la combinación de sort y uniq permite procesar datos en texto plano de forma eficiente y flexible. Este artículo ofrece un análisis profundo de este truco, presentando ejemplos, tablas de demostración, opciones avanzadas y recomendaciones de seguridad para canalizar resultados a través de redes protegidas por VPN como OpenVPN o WireGuard.
1. Fundamentos de sort
sort es una herramienta de la GNU Coreutils encargada de ordenar líneas de texto. Entre sus opciones principales se encuentran:
- -n: ordena numéricamente.
- -r: invierte el orden (descendente).
- -k: ordena por clave o columna.
- -t: define el separador de campos.
- –parallel=N: paraleliza tareas en múltiples hilos.
2. Fundamentos de uniq
uniq filtra líneas duplicadas contiguas. Sus opciones más usadas:
- -c: cuenta ocurrencias de cada línea.
- -d: muestra solo duplicados.
- -u: muestra solo líneas únicas.
- -f N: ignora los primeros N campos.
- -s N: ignora los primeros N caracteres.
3. Uso combinado: orden conteo
Para procesar datos y generar tablas ordenadas con recuento de registros, la tubería habitual es:
De esta manera:
- sort organiza las líneas.
Ejemplo de entrada:
Nombre | Ciudad |
---|---|
Ana | Madrid |
Luis | Sevilla |
Ana | Madrid |
José | Valencia |
- uniq -c cuenta líneas idénticas contiguas.
- El segundo sort -nr ordena por recuento descendente.
Resultado final
Veces | Registro |
---|---|
2 | Ana Madrid |
1 | Luis Sevilla |
1 | José Valencia |
4. Ejemplos avanzados
- CSV con separador específico: sort -t, -k2 archivo.csv uniq -f1 -c.
- Columnas numéricas: ordenar por la 3ª columna numérica y contar:
Leave a Reply