Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

280
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!