Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

283
Vistas
Bash: ordene el archivo de texto por comando de ordenación sensible a mayúsculas y minúsculas o usando el comando de ordenación de python

Archivo de texto
usando sort -s (sensible a mayúsculas y minúsculas)

 Act Bad Bag Card East about across back ball camera canvas danger dark early edge

usando sort -f (no distingue entre mayúsculas y minúsculas)

 about across Act back Bad Bag ball camera canvas Card danger dark early East edge

Las palabras que comienzan con mayúscula se ordenan alfabéticamente entre las minúsculas.

Lo que quiero es que las palabras en mayúsculas estén al principio de cada letra siguiente (en mayúsculas ordenadas alfabéticamente):
Salida esperada :

 Act about across Bad Bag back ball Card camera canvas danger dark East early edge

¿Cómo puedo darme cuenta de esto usando el comando de clasificación bash o python?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Este comando lo hará:

 LC_ALL=C sort -k 1.1f,1.1 PATH

donde PATH es la ruta de su archivo.

Explicación:

  • el orden de sort se ve afectado por la configuración regional actual, por lo que LC_ALL=C se usa para establecer la configuración regional en un valor conocido (la configuración regional POSIX, orden de clasificación basado en valores de código de caracteres ASCII)
  • -k 1.1f,1.1 le dice a sort que use el primer carácter como la clave de clasificación principal sin distinguir entre mayúsculas y minúsculas
  • Las comparaciones iguales de la clave principal se resolverán comparando todos los caracteres nuevamente (esta vez, distinguiendo entre mayúsculas y minúsculas).

La salida es exactamente como se solicita en la pregunta.

over 4 years ago · Santiago Trujillo Denunciar

0

¡Me las arreglé para hacerlo! Aquí está (en Python):

 import string words = [...] newwords = sorted(words, key=lambda x: [ord(y) if y in string.lowercase else ord(y.lower()) - 0.5 for y in x]) print(newwords)

Producción:

 ['Act', 'about', 'across', 'Bad', 'Bag', 'back', 'ball', 'Card', 'camera', 'canvas', 'danger', 'dark', 'East', 'early', 'edge']
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda