https://regex101.com/r/8Fq0qa/1
// https://stackoverflow.com/questions/14751802/split-string-every-3-characters-from-back-using-javascript
// https://stackoverflow.com/questions/469913/regular-expressions-is-there-an-and-operator
const replace = value.replace( /(?=(?:........)*$)(?=\.)./g, millions);
(?=(?:.{8})*$)(?=\.).
Este sitio web es para publicar material que pueda ser de ayuda para algunas personas. Sientase libre de comentar si estos materiales le han servido o si necesita ayuda para la solución de algún problema. Es realizado con material propio o encontrado en la red, sientase libre de realizar cuálquier reclamo/aporte. El nombre del blog es con la intención de inmortalizar el nombre de mi padre a quién le debo el enfoque tecnológico de mi forma de vida.
Buscar este blog
Aviso
El autor de éste blog no se hace responsable de los posibles daños o perdidas de información, que pudieran ocasionarse en su sistema o su vida por la aplicación de la información aquí contenida.
viernes, 28 de septiembre de 2018
lunes, 24 de septiembre de 2018
Cambiar el contenido de un archivo con expresiones regulares
Muchas veces el uso de expresiones regulares confunde no tanto por su sintaxis, si no como esta se usa embebida en otros programas, uno de estos ejemplos es el comando SED, que posee un "flag"/opción especialmente diseñada para eso. Por ejemplo, podía usar una operación binaria OR para coincidir cualquier conjunto de caracteres y reemplazarlos por uno único.
Ejemplo 1: Reemplazar los dominios .com y .co por .gov
Ejemplo 2: Reemplazar solamente los dominios que terminan por ".com" o ".com/" por ".gov"
Ejemplo 3: Reemplazar solamente los dominios que terminan por ".com" o ".com/" por ".gov" y ".gov/" respectivamente.
Este incluye que primero evalúa la condición de terminar con ".com" o ".com/" y luego hace un simple reemplazo global de ".com" por ".gov".
Ejemplo 4: Lo mismo de arriba pero con muchas expresiones seguidas.
O
O
Referencias:
- https://linuxconfig.org/how-to-substitute-only-a-first-match-occurrence-using-sed-command
- https://www.linuxtopia.org/online_books/linux_tool_guides/the_sed_faq/sedfaq4_004.html
- https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html
- https://unix.stackexchange.com/questions/155805/sed-replace-first-k-instances-of-a-word-in-the-file
- https://www.tutorialspoint.com/unix/unix-regular-expressions.htm
$ cat foobar http://colombia.com http://gmail.com/ http://www.glud.co
Ejemplo 1: Reemplazar los dominios .com y .co por .gov
$ sed -E 's#(.com|.co)#.gov#g' foobar http:/.govlombia.gov http://gmail.gov/ http://www.glud.gov
Ejemplo 2: Reemplazar solamente los dominios que terminan por ".com" o ".com/" por ".gov"
$ sed -E 's#(.com|.com/)$#\.gov#g' foobar http://colombia.gov http://gmail.gov http://www.glud.co
Ejemplo 3: Reemplazar solamente los dominios que terminan por ".com" o ".com/" por ".gov" y ".gov/" respectivamente.
Este incluye que primero evalúa la condición de terminar con ".com" o ".com/" y luego hace un simple reemplazo global de ".com" por ".gov".
$ sed -E '/(.com|.com\/)$/s/.com/.gov/g' foobar http://colombia.com http://gmail.com/ http://www.glud.co
Ejemplo 4: Lo mismo de arriba pero con muchas expresiones seguidas.
$ sed -E '/(.com|.com\/)$/s/.com/.gov/g;/(.gov|.gov\/)$/s/http/https/g' foobar https://colombia.gov https://gmail.gov/ http://www.glud.coTen en cuenta que para la segunda validación no se puede usar "/(.com|.com\/)$/s/http/https/g", porque en ese punto ".com" ya fue reemplazado por ".gov".
O
$ sed -E -e '/(.com|.com\/)$/s/.com/.gov/g' -e '/(.gov|.gov\/)$/s/http/https/g' foobar https://colombia.gov https://gmail.gov/ http://www.glud.co
O
$ sed -Ee '/(.com|.com\/)$/s/.com/.gov/g' -Ee '/(.gov|.gov\/)$/s/http/https/g' https://colombia.gov https://gmail.gov/ http://www.glud.co
Referencias:
- https://linuxconfig.org/how-to-substitute-only-a-first-match-occurrence-using-sed-command
- https://www.linuxtopia.org/online_books/linux_tool_guides/the_sed_faq/sedfaq4_004.html
- https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html
- https://unix.stackexchange.com/questions/155805/sed-replace-first-k-instances-of-a-word-in-the-file
- https://www.tutorialspoint.com/unix/unix-regular-expressions.htm
Cambiar extensión a ficheros con BASH
En este caso se cambia la extensión .txt a .csv, ten cuidado al reemplazar. Verifica primero con:
Y luego con:
find . -iname "*.txt" -exec sh -c 'echo mv {} "$(dirname {})/$(basename {} .txt).csv"' \;
Y luego con:
find . -iname "*.txt" -exec sh -c 'mv {} "$(dirname {})/$(basename {} .txt).csv"' \;
miércoles, 20 de junio de 2018
Reestablecer permisos a archivos y directorios
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
find . -type f -exec chmod 644 {} \;
martes, 6 de marzo de 2018
Realizar una correcta instalación de tu sistema iniciando por un buen BACKUP
Realizar un backup es lo primero qué debemos hacer al instalar una distribución GNU/Linux, luego de esto, realiza una instalación consciente de lo qué se hace para generar mayor conocimiento.
Una forma rápida de hacer un backup es:
Para más instrucciones puedes ver este documento parte de una exposición.
https://docs.google.com/document/d/1chjTsY5gftYHGWQ-U_vi_Je54mtYthEzfzEA4CCFaIs/edit?usp=sharing
Una forma rápida de hacer un backup es:
rsync -avP <origen> <destino>
Para más instrucciones puedes ver este documento parte de una exposición.
https://docs.google.com/document/d/1chjTsY5gftYHGWQ-U_vi_Je54mtYthEzfzEA4CCFaIs/edit?usp=sharing
sábado, 3 de febrero de 2018
Son todos los demás los qué se reprimen
4x01 https://youtu.be/6fdLqJkbhP8?t=10m21s
Aprendí qué no he estado reprimiendo mis sentimientos, los he sabido expresar, son todos los demás los qué se reprimen.
Además es divertido romper cosas!
Billy
Billy & Mandy
Billy y Mandy
Aprendí qué no he estado reprimiendo mis sentimientos, los he sabido expresar, son todos los demás los qué se reprimen.
Además es divertido romper cosas!
Billy
Billy & Mandy
Billy y Mandy
miércoles, 20 de diciembre de 2017
Reemplazar EOF/CRLF por LF ( \n por \r\n )
Cuando trabajamos con desarrolladores qué trabajan en linux/windows/mac etc. Nos encontramos con problemas de cambio de separador de línea.
https://stackoverflow.com/questions/1552749/difference-between-cr-lf-lf-and-cr-line-break-types
Para cambiar de uno a otro se puede usar perl qué viene preinstalado en la gran mayoría de distribuciones.
Para hacerlo recursivamente a archivos de una extensión (ex. *.txt) podríamos hacer:
Gracias
https://stackoverflow.com/questions/1552749/difference-between-cr-lf-lf-and-cr-line-break-types
Para cambiar de uno a otro se puede usar perl qué viene preinstalado en la gran mayoría de distribuciones.
perl -pi -e 's/\r\n/\n/g' NombreArchivo.ext
Para hacerlo recursivamente a archivos de una extensión (ex. *.txt) podríamos hacer:
find . -type f -name "*.txt" -exec perl -pi -e 's/\r\n/\n/g' {} \;
Gracias
Suscribirse a:
Entradas (Atom)
Más populares
-
Hola a todos! Para la emisora Radio GLUD se hizo necesario instalar jack-audio-conection-kit y qjackctl para hacer correr idjc, aparte de...
-
Accenture Adyen Airbnb Alelo Amazon.com Apple Banco Inbursa Banco Pan Banco Santander BCG Bitso BlackRock Block BREX C6 Bank Cabify Citibank...
-
Mejora el ciclo de prueba y error, lo más barato y rápido posible. Inspirado en: https://slowsophie.com/la_trilogia_del_fracaso/captura-de-p...
-
Extrañamente me salió el error de que no tenía memoria suficiente cuando ejecutaba el update.php de Drupal, esto es lo que me salía. Fatal...
-
Figure out what question you’re trying to ask. (often the most difficult) Filter the data to remove unneeded elements. Transform the element...
-
https://abhishekbanthia.com/clocker https://github.com/n0shake/clocker brew install --cask clocker
-
Hola a todos. Cuando se comienza en el mundo del software libre se busca cierta compatibilidad entre sistemas gnu/linux y windows; Por lo ge...
-
Add multiple cursors at next occurrence? This is so easy, this shortcut is disable by dafault, go to Tools -> Modify KeyBoard Shorcuts......
-
Problema: necesitas decirle a alguien lo bien o mal qué lo ha hecho, tanto para reforzar, como para generar accionables que lleven a la pers...
Archivo del blog
-
►
2024
(14)
- ► diciembre 2024 (1)
- ► noviembre 2024 (2)
- ► octubre 2024 (1)
- ► agosto 2024 (1)
- ► julio 2024 (2)
- ► junio 2024 (1)
- ► marzo 2024 (3)
- ► febrero 2024 (2)
-
►
2023
(25)
- ► diciembre 2023 (2)
- ► noviembre 2023 (1)
- ► octubre 2023 (2)
- ► septiembre 2023 (1)
- ► agosto 2023 (7)
- ► julio 2023 (1)
- ► abril 2023 (2)
- ► marzo 2023 (1)
- ► febrero 2023 (2)
- ► enero 2023 (1)
-
►
2022
(19)
- ► diciembre 2022 (2)
- ► noviembre 2022 (5)
- ► octubre 2022 (2)
- ► septiembre 2022 (1)
- ► agosto 2022 (2)
- ► junio 2022 (2)
- ► abril 2022 (1)
- ► febrero 2022 (1)
- ► enero 2022 (1)
-
►
2021
(36)
- ► diciembre 2021 (2)
- ► noviembre 2021 (2)
- ► octubre 2021 (4)
- ► septiembre 2021 (4)
- ► agosto 2021 (2)
- ► julio 2021 (4)
- ► junio 2021 (3)
- ► abril 2021 (8)
- ► enero 2021 (3)
-
►
2020
(10)
- ► noviembre 2020 (1)
- ► octubre 2020 (2)
- ► agosto 2020 (5)
- ► julio 2020 (1)
- ► enero 2020 (1)
-
►
2019
(2)
- ► julio 2019 (1)
- ► febrero 2019 (1)
-
►
2018
(7)
- ► diciembre 2018 (1)
- ► septiembre 2018 (3)
- ► junio 2018 (1)
- ► marzo 2018 (1)
- ► febrero 2018 (1)
-
►
2017
(5)
- ► diciembre 2017 (1)
- ► noviembre 2017 (3)
- ► julio 2017 (1)
-
►
2016
(4)
- ► septiembre 2016 (3)
- ► junio 2016 (1)
-
►
2015
(1)
- ► julio 2015 (1)
-
►
2013
(5)
- ► diciembre 2013 (1)
- ► noviembre 2013 (1)
- ► octubre 2013 (1)
- ► septiembre 2013 (1)
- ► abril 2013 (1)
-
►
2012
(20)
- ► octubre 2012 (1)
- ► junio 2012 (1)
- ► abril 2012 (6)
- ► marzo 2012 (4)
- ► febrero 2012 (3)