Estoy buscando usar más de un núcleo al reemplazar valores con sed en bash, ¿es esto posible?
bash
sed
bash-scripting
Jeffrey L. Roberts
fuente
fuente
Respuestas:
La respuesta corta: probablemente no.
Respuesta más larga: realmente depende. ¿Cómo es tu sed? ¿Cuál es la entrada / salida? ¿Son múltiples scripts y múltiples archivos de entrada? Entonces puede ejecutar varias instancias, y el planificador probablemente distribuirá esto para ejecutar en múltiples núcleos. ¿Es un archivo de entrada largo? entonces la respuesta es quizás, pero probablemente no.
Tal vez pueda dividir el archivo en trozos y procesarlos SOLO bajo ciertas condiciones estrictas, es decir, a su sed no le importan los números de línea. Algo así como "eliminar la línea 2" es muy diferente en un solo archivo frente a un archivo fragmentado. sed puede usar el estado, y si divide el archivo, tendría que mantener este estado de edición consistente.
fuente
Puede intentar ejecutar varios scripts en paralelo. Consulte esta pregunta: https://unix.stackexchange.com/questions/79501/executing-piped-commands-in-parallel
Como verá en mi propia respuesta, no es automático que múltiples núcleos le permitan obtener resultados más rápidos (aunque, por supuesto, puede suceder).
fuente
Por lo general, eso no se puede hacer con SED. Si desea un mejor rendimiento, tal vez podría intentar usar AWK o Python3 en su lugar.
fuente