¿Alguien sabe de una herramienta no basada en líneas para buscar / reemplazar cadenas "binarias" de una manera algo eficiente en la memoria? Ver esta pregunta también.
Tengo un archivo de texto de + 2GB que me gustaría procesar similar a lo que parece hacer:
sed -e 's/>\n/>/g'
Eso significa que quiero eliminar todas las nuevas líneas que ocurren después de un >
, pero no en ningún otro lugar, así que eso descarta tr -d
.
Este comando (que obtuve de la respuesta de una pregunta similar ) falla con couldn't re-allocate memory
:
sed --unbuffered ':a;N;$!ba;s/>\n/>/g'
Entonces, ¿hay otros métodos sin recurrir a C? Odio a Perl, pero estoy dispuesto a hacer una excepción en este caso :-)
No estoy seguro de ningún carácter que no aparezca en los datos, por \n
lo que me gustaría evitar el reemplazo temporal con otro carácter si es posible.
¿Alguna buena idea, alguien?
--unbuffered
$!
hacer?
$!
si es así. Esto espero que necesite MUCHA memoria.
sed
no es la herramienta adecuada en este caso.
--unbuffered
?