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"' \;
Suscribirse a:
Entradas (Atom)
Más populares
-
El Problema Tiffany, o Efecto Tiffany, se refiere al problema en el que un hecho histórico o realista parece anacrónico o poco realista par...
-
El efecto señuelo describe cómo, cuando estamos eligiendo entre dos alternativas, la adición de una tercera opción menos atractiva (el señue...
-
Que tal a todos, para los que no han migrado a linux pero se han dado cuenta de la importancia de LATEX les dejo un tutorial de como se logr...
-
Aseguramiento de calidad analítico Estático Revisiones / Revisiones Guiadas Walkthroughs Análisis de Flujo de Control Análisis de Flujo de ...
-
const user = { nested: { a: 'foo' , b: [ 'first item' , 'second item' , 'third ite...
-
Acaso la inteligencia se trata de la "capacidad de resolver problemas"? Es la respuesta qué he obtenido al preguntar sobre la defi...
-
Cosas que debes llevar (indispensables) - Pasaporte - Cédula de ciudadanía - Kit de cepillo y crema dental (de no más de 100ml) - Papel, ce...
-
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...
-
Execute this with the hash of the commit git restore -s 648232e -- . Then you can do a git diff showing the changed to be confirmed.
-
Y como el desparche es infinito (no estoy desparchado) les tengo "El GIF".
Archivo del blog
-
►
2024
(13)
- ► 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)