¿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 \nlo 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.
sedno es la herramienta adecuada en este caso.
--unbuffered?