Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

219
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!