El primer reto del curso fue acerca de que creáramos una clase para que pudiéramos ver cuales son los dígitos que coinciden con un numero hexadecimal, pero antes de hacer una clase de esa naturaleza, necesitamos saber a que se refieren los dígitos hexadecimales, por eso primero vamos a ver que son los dígitos hexadecimales y como identificarlos.
Dígitos hexadecimales
Los números hexadecimales son números representados en base 16 , que significa los dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F en lugar de solamente 0-9.
Así como en base 10, tenemos el lugar de los 1s, el lugar de los 10s, el lugar de los 100s, el lugar de los 1000s, el lugar de los 10,000s, etc. (las potencias de 10 ), en base 16 tenemos el lugar de los 1s, el lugar de los 16s, el lugar de los 256s, el lugar de los 4096s, etc. (las potencias de 16).
En base 10, el número 13 significa un grupo de 10 y 3 unidades. En base 16, el número 13 significa un grupo de 16 y 3 unidades. (Esto sería equivalente al 19 en base 10.)
Entonces, en donde estos números pueden ser de utilidad es al momento de buscar colores hexadecimales para paginas web o cosas así. Por eso yo agarre varios números hexadecimales de la siguiente pagina de internet para poder hacer la practica. https://htmlcolorcodes.com/
Después yo pase esos números a un archivo que se llama file.txt en mi consola de ubuntu para empezar a crear mi clase.
Al darme cuenta de que todos estos números hexadecimales iban en grupos de 6, entonces pude hacer mi clase, la cual quedo de la siguiente manera[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]
Al final, con el comando grep mi comando quedo de la siguiente manera en la consola de ubuntu
grep -i -no '[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]' file.txt