shell – Convertir el contenido del archivo a minúsculas

Pregunta:

Tengo un archivo temp con algunos contenidos en minúsculas y mayúsculas.

Aporte

Contenido de mi archivo temp :

hi
Jigar
GANDHI
jiga

Quiero convertir todo de arriba a abajo .

Mando

Probé el siguiente comando:

sed -e "s/[A-Z]/[a-z]/g" temp

pero salió mal.

Producción

Lo quiero como:

hi
jigar
gandhi
jiga

¿Qué debe estar en la parte sustituta del argumento de sed ?

Respuesta:

Si su entrada solo contiene caracteres ASCII, puede usar tr como:

tr A-Z a-z < input 

o (menos fácil de recordar y escribir IMO; pero no limitado a letras latinas ASCII, aunque en algunas implementaciones, incluido GNU tr , todavía está limitado a caracteres de un solo byte, por lo que en las configuraciones regionales UTF-8, todavía limitado a letras ASCII):

tr '[:upper:]' '[:lower:]' < input

si tienes que usar sed :

sed 's/.*/\L&/g' < input

(aquí asumiendo la implementación GNU).

Con POSIX sed , necesitaría especificar todas las transliteraciones y luego puede elegir qué letras desea convertir:

sed 'y/AǼBCΓDEFGH.../aǽbcγdefgh.../' < input

Con awk :

awk '{print tolower($0)}' < input

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım