Cómo hacer un slug con bash
6 comentariosRecientemente necesité eliminar los caracteres especiales, sustituir los espacios por guiones y convertir en minúsculas cierta cadena de caracteres (slug).
echo "$STRING" | iconv -t ascii//TRANSLIT | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | tr A-Z a-z
Donde:
iconv -t ascii//TRANSLIT
Convierte los caracteres acentuados en su contraparte no acentuada, ejemplo Áá por Aa.
sed -r s/[^a-zA-Z0-9]+/-/g
Elimina todos los caracteres no ASCII (con repeticiones).
sed -r s/^-+\|-+$//g
Elimina los guiones (con repeticiones) al inicio y final de la cadena.
tr A-Z a-z
Convierte los caracteres a minúsculas.
Siempre me ha costado entender el mecanismo de ‘sed’ una herramienta de gran utilidad; el comando ‘tr’ es nuevo para mí -muy interesante-.
El que sí he usado es ‘iconv’ en una instalación de OpenIndiana para poder utilizar el driver broadcom 4312:
Convertir el archivo .inf a ascii en lugar de UTF:
iconv -f utf-16 -t ascii bcmwl5.inf > /path/ndis-1.x.x/1386/ndis.inf
Saludos.
Bueno, de igual modo se puede usar
tr, a veces es más cómodo y sencillo quesed, tabmién se pudieron hacer sustituciones, por ejemplo usar:[[:alpha:]], sin embargo lo hice así quizá por hacerlo un poco más legible.Por Oden, como está el geek.. :D.
import reimport unicodedata
def make_me_slug(malformed):
malformed = unicodedata.normalize(
'NFKD', malformed).encode('ascii', 'ignore')
malformed = re.compile(b'[^\w\s-]').sub('', malformed).strip().lower()
malformed = re.compile(b'[-\s]+').sub('-', malformed)
print(malformed)
PLP, viking, formatea el código que salió como le salió de los plugins. Thx in advance.
No se puede compay, la culpa es de la plataforma, you know… ya he denunciado tal cosa pero la solución está fuera de mis manos.
Quisiera compartir un truco que hago para guardar información secreta es bastante sencillo y seguro, en cmd de windows crean un notepad de la siguiente forma:
C:\>notepad nombre.txt:password
de este modo se crea un txt con password, la única manera de abrirlo es del mismo modo que lo crearon, también al copiarlo debe ser por consola de otro modo no se copia la información guardada en el archivo oculto.
Nota:la extención puede ser cualquiera o ninguna.
Espero les sea útil, a mí me ha servido mucho…
Richard Ricardo
Ing.Informático
Prog.: de todo
Sldos