Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

220
Vistas
¿Cómo acelerar la sustitución cuando se usa GNU sed con GNU find?

Tengo los resultados de una simulación numérica que consta de cientos de directorios; cada directorio contiene millones de archivos de texto.

Necesito sustituir la cadena " wavelength; " por " wavelength_bc; ", así que probé lo siguiente:

 find . -type f -exec sed -i 's/wavelength;/wavelength_bc;/g' {} \;

y

 find . -type f -exec sed -i 's/wavelength;/wavelength_bc;/g' {} +

Desafortunadamente, los comandos anteriores tardan mucho en finalizar (más de 1 hora).

Me pregunto cómo puedo aprovechar la cantidad de núcleos en mi máquina (8) para acelerar el comando anterior.

Estoy pensando en usar xargs con el indicador -P . Tengo miedo de que eso corrompa los archivos; así que no tengo idea si eso es seguro o no?

En resumen:

  • ¿Cómo puedo acelerar las sustituciones de sed cuando uso con find ?
  • ¿Es seguro usar xargs -P para ejecutar eso en paralelo?

Gracias

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

xargs -P debería ser seguro de usar, sin embargo, deberá usar la opción -print0 de find y canalizar a xargs -0 para abordar los nombres de archivo con espacios o comodines:

 find . -type f -print0 | xargs -0 -I {} -P 0 sed -i 's/wavelength;/wavelength_bc;/g' {}

-La opción -P 0 en xargs se ejecutará en modo paralelo. Ejecutará tantos procesos como sea posible para su CPU.

over 4 years ago · Santiago Trujillo Denunciar

0

Esto podría funcionar para usted (GNU sed y paralelo):

 find . -type f | parallel -q sed -i 's/wavelength;/wavelength_bc;/g' {}

GNU paralelo ejecutará tantos trabajos como núcleos haya en la máquina en paralelo.

Los usos más sofisticados pueden implicar servidores remotos y transferencia de archivos. Consulte aquí y una hoja de trucos aquí .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda